{
  "contractName": "WitnetOracleTrustableObscuro",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "_factory",
          "type": "address"
        },
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "_registry",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackRevertGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_sstoreFromZeroGas",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "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"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "BatchReportError",
      "type": "event"
    },
    {
      "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": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Received",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersUnset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "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"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "witnetSLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponse",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackGas",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponseDelivered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackActualGas",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "evmCallbackRevertReason",
          "type": "string"
        }
      ],
      "name": "WitnetQueryResponseDeliveryFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryRewardUpgraded",
      "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": "channel",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currency",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "_resultMaxSize",
          "type": "uint16"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint24",
          "name": "_callbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "estimateBaseFeeWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_txGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nanoWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_revenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_expenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "_bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "fetchQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNextQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryEvmReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "gasCallback",
              "type": "uint24"
            },
            {
              "internalType": "uint72",
              "name": "evmReward",
              "type": "uint72"
            },
            {
              "internalType": "bytes",
              "name": "witnetBytecode",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "witnetRAD",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint8",
                  "name": "committeeSize",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "witnessingFeeNanoWit",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetV2.RadonSLA",
              "name": "witnetSLA",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Request",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponseStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultCborBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        }
      ],
      "name": "getQueryStatusBatch",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus[]",
          "name": "_status",
          "type": "uint8[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_reporter",
          "type": "address"
        }
      ],
      "name": "isReporter",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "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": [],
      "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": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "postRequest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_queryUnverifiedBytecode",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_witnetQueryResultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "queryId",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "queryResultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "queryResultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "queryResultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitnetOracleReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_reporters",
          "type": "address[]"
        }
      ],
      "name": "setReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_exReporters",
          "type": "address[]"
        }
      ],
      "name": "unsetReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "upgradeQueryEvmReward",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint24",
                  "name": "gasCallback",
                  "type": "uint24"
                },
                {
                  "internalType": "uint72",
                  "name": "evmReward",
                  "type": "uint72"
                },
                {
                  "internalType": "bytes",
                  "name": "witnetBytecode",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "witnetRAD",
                  "type": "bytes32"
                },
                {
                  "components": [
                    {
                      "internalType": "uint8",
                      "name": "committeeSize",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint64",
                      "name": "witnessingFeeNanoWit",
                      "type": "uint64"
                    }
                  ],
                  "internalType": "struct WitnetV2.RadonSLA",
                  "name": "witnetSLA",
                  "type": "tuple"
                }
              ],
              "internalType": "struct WitnetV2.Request",
              "name": "request",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "reporter",
                  "type": "address"
                },
                {
                  "internalType": "uint64",
                  "name": "finality",
                  "type": "uint64"
                },
                {
                  "internalType": "uint32",
                  "name": "resultTimestamp",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes32",
                  "name": "resultTallyHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "resultCborBytes",
                  "type": "bytes"
                }
              ],
              "internalType": "struct WitnetV2.Response",
              "name": "response",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_queryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackRevertGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sstoreFromZeroGas\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"name\":\"WitnetQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackGas\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponseDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackActualGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evmCallbackRevertReason\",\"type\":\"string\"}],\"name\":\"WitnetQueryResponseDeliveryFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryRewardUpgraded\",\"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\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_resultMaxSize\",\"type\":\"uint16\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"estimateBaseFeeWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nanoWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_revenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_expenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"fetchQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"response\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryEvmReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponseStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultCborBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_queryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"}],\"name\":\"getQueryStatusBatch\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus[]\",\"name\":\"_status\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":[],\"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\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_queryUnverifiedBytecode\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_witnetQueryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"queryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"queryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"queryResultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetOracleReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"upgradeQueryEvmReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"details\":\"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.\",\"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.\"},\"estimateBaseFee(uint256,bytes32)\":{\"details\":\"Underestimates if the size of returned data is greater than `resultMaxSize`. \",\"params\":{\"gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"radHash\":\"The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry.\"}},\"estimateBaseFee(uint256,uint16)\":{\"details\":\"Underestimates if the size of returned data is greater than `_resultMaxSize`. \",\"params\":{\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"_resultMaxSize\":\"Maximum expected size of returned data (in bytes).\"}},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"params\":{\"_callbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"extractWitnetDataRequests(uint256[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"_queryIds\":\"Query identifies.\"}},\"fetchQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQuery(uint256)\":{\"details\":\"Fails if or if `msg.sender` is not the actual requester.\"},\"getQueryRequest(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint256)\":{\"details\":\"Fails if the `_queryId` is not in 'Reported' status, or if `msg.sender` is not the actual requester.\",\"params\":{\"_queryId\":\"The unique query identifier\"}},\"getQueryResponseStatus(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultCborBytes(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultError(uint256)\":{\"params\":{\"_queryId\":\"The unique query identifier.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"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.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"details\":\"Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.\",\"params\":{\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\",\"_queryUnverifiedBytecode\":\"The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"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.\"},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique identifier of the data request.\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\",\"_witnetQueryResultTimestamp\":\"Timestamp at which the reported value was captured by the Witnet blockchain. \"}},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"details\":\"Fails only if called from unauthorized address.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_reporters\":\"List of addresses to be added to the active reporters control list.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeQueryEvmReward(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Posted' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board \\\"trustable\\\" implementation contract.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"},\"WitnetQuery(uint256,uint256,(uint8,uint64))\":{\"notice\":\"Emitted every time a new query containing some verified data request is posted to the WRB.\"},\"WitnetQueryResponse(uint256,uint256)\":{\"notice\":\"Emitted when a query with no callback gets reported into the WRB.\"},\"WitnetQueryResponseDelivered(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a query with a callback gets successfully reported into the WRB.\"},\"WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)\":{\"notice\":\"Emitted when a query with a callback cannot get reported into the WRB.\"},\"WitnetQueryRewardUpgraded(uint256,uint256)\":{\"notice\":\"Emitted when the reward of some not-yet reported query is upgraded.\"}},\"kind\":\"user\",\"methods\":{\"estimateBaseFee(uint256,bytes32)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,uint16)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"notice\":\"Estimate the minimum reward required for posting a data request with a callback.\"},\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings.\"},\"extractWitnetDataRequests(uint256[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\"},\"fetchQueryResponse(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQuery(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryEvmReward(uint256)\":{\"notice\":\"Gets the current EVM reward the report can claim, if not done yet.\"},\"getQueryRequest(uint256)\":{\"notice\":\"Retrieves the RAD hash and SLA parameters of the given query.\"},\"getQueryResponse(uint256)\":{\"notice\":\"Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\"},\"getQueryResponseStatus(uint256)\":{\"notice\":\"Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue.\"},\"getQueryResultCborBytes(uint256)\":{\"notice\":\"Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query.\"},\"getQueryResultError(uint256)\":{\"notice\":\"Gets error code identifying some possible failure on the resolution of the given query.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request.\"},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result.\"},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request. \"},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request.\"},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeQueryEvmReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"notice\":\"Contract to bridge requests to Witnet Decentralized Oracle Network.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/customs/WitnetOracleTrustableObscuro.sol\":\"WitnetOracleTrustableObscuro\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@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\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"project:/contracts/WitnetOracle.sol\":{\"keccak256\":\"0x84ef8d2ebcba273e4bc23a5ee414a1213df55d1b4e496197a146031fea3a4874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a6e31964ed08c4c9dfe5279b4ffe9eeba6e759f15901e080e174e98e96a7f5\",\"dweb:/ipfs/QmTghzVFf2EHnfnHejgFGRBjanXYcstK9ftVaYmHWJfk8w\"]},\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/WitnetRequestFactory.sol\":{\"keccak256\":\"0x3c66f27d7c1db0e662c37d98005c4cbd871ceb75e97079d7bf673fb75d59c858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52adb318b870d0825718125e94fdbdd0e968ced09926420e2543b0ca4c6eb579\",\"dweb:/ipfs/QmYack87Q2UTfQb8KLLEPFBrMJgN2o6PaPqPNSc95McPVH\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x2b2f56fc69bf0e01f6f1062202d1682cd394fa3b3d9ff2f8f833ab51c9e866cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8017f76a71e4a52a5a5e249081c92510bac5b91f03f727e66ff4406238521337\",\"dweb:/ipfs/QmdWcPAL3MGtxGdpX5CMfgzz4YzxYEeCiFRoGHVCr8rLEL\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x9cea47781e0005266e14fadf8d1ee565d0814d4d51b30dced11bdee37b663060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb1f843f53c693f4b5a8f32249ac2eb93095671b99c90aa7c6d335eb7153e827\",\"dweb:/ipfs/QmSLvVGCcg2FZVWPB82yVb57SFixkuDm2BqjvgzJpnYfZp\"]},\"project:/contracts/core/customs/WitnetOracleTrustableObscuro.sol\":{\"keccak256\":\"0x41c33cd51ad33d38704bf4c0944c0e555b1e2bfb4bf8a23b181071a14248695f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e33675531480e94816668d48c5f0276e4821f4187d82a1c383cc398d82b50947\",\"dweb:/ipfs/QmfTDZBP2oaqLgJPCA96gsfEF9ca877oTZfJLMxiacxne8\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableBase.sol\":{\"keccak256\":\"0xeb14d9ac86e9983b41cc3a307acd4e6546c9c3f790234ca1c208aa4c189a27df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73c7f71f22a0cf9e70681641b131ba42233c6bd03c4170d5ac153153de206c04\",\"dweb:/ipfs/QmPMKe45EGWbUoDPTF2Y8VDZ8Q3eEfbJFHt8DW9Y5x6NYn\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol\":{\"keccak256\":\"0x3e4ce76102aef381af61296fb19e5fa1e36682cb13f0c21b882b590b06efc218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae39d2d0043a5b073177eb94f876dda7a2531d99f01162852d513dee36a7465e\",\"dweb:/ipfs/QmdGnCi4m478KEUdFv5w9Zqmmdc1SgmYB6KeRtbW4MC41P\"]},\"project:/contracts/data/WitnetOracleDataLib.sol\":{\"keccak256\":\"0x03c8b61605f0c5324047aa99c896fe189933e3e9a59b070b9b3ea6141f7db960\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cedd0416337f718a44bbbaf53efa99ba490f7de1e6ab45f6bdf29e03082aa29d\",\"dweb:/ipfs/Qmb8RUaZEFX5CvE1VTYpTrm1EhM62gAUcZ4dGt3w39gZBA\"]},\"project:/contracts/interfaces/IWitnetConsumer.sol\":{\"keccak256\":\"0xf90fbcf0a59428c0ac13a3903214656060a95175adfdef8c11a7e16675b849e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2606640d3f343051ea18dfb8e136dfdb73ceecd8016c82ddb73d67ad39a30e0\",\"dweb:/ipfs/QmTADVW4M8pge6pGfenFAauEDk4yZEy78o5ksZiKGwP3DT\"]},\"project:/contracts/interfaces/IWitnetOracle.sol\":{\"keccak256\":\"0x5dbb04fce5e05675325232a735c46617378982b48dac2138aca0c6cc95e6e4d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7447a70455478239500e16aebe5dce6676dc86307d22f662761d8e9f7c5d1276\",\"dweb:/ipfs/QmVkvA4Mt6G1JXxE8ebxKGAjT1WvNbp5QMKg9sUKdrJjhv\"]},\"project:/contracts/interfaces/IWitnetOracleEvents.sol\":{\"keccak256\":\"0x0442f474f253dc1f6bd6a4f153c3adb2abe5f6f0f24c76d1baf666185e61e659\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://535e8efcfc5693669d9bd2b6f62e6fc65aca19b7de355a27152e4362b410540d\",\"dweb:/ipfs/QmVZRXgku1cZewhoucebaiBKAyUjF2dmEzYrzGvjPzbwN9\"]},\"project:/contracts/interfaces/IWitnetOracleReporter.sol\":{\"keccak256\":\"0xf4726c5c522b99ce01c2c870c259ebb8dc1563a25df3d715ed78cff89a8bb122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d4d7205c416fc2927856c2ab64a7d2d5374900c6ad41320f512a0f2e17f215\",\"dweb:/ipfs/QmW8gmJ5rkd4K7ahPQ6KuCQ5wdnhoZJTpSL5iPkZcg2dAe\"]},\"project:/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"keccak256\":\"0xf7dccb4e47d281ce229a9dc219fb2b30dea26f6ad80225f21c75b103d5ab1230\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://814f304ff435f64bbcac9ac512ca636c3245f522f87285909c9a9e0ec6dc5368\",\"dweb:/ipfs/QmXtmoYRgm2iXQmLUmVoRz8d5PNqrZXid4SgX4BoDs8rcm\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/interfaces/IWitnetRequestFactory.sol\":{\"keccak256\":\"0x3b19ec4a976745ba2646e7e1886d647ef30ad678460a712c93bbfb4405b57f1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa759ae15b7d4da622a81d50933474910959ac490d8b63ea2e7ed8608859a9c9\",\"dweb:/ipfs/QmRckCu7eBBP5fn9ff6djs7VbdhFc7sxYb2yqDr4go66jV\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetErrorsLib.sol\":{\"keccak256\":\"0x6cc28a70034f65099ec7e69d03a6c9cb643a77032c0e6d76532b77b036ef8436\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44eff62b48c4daf5606fae9b04dca6201af4336909d5966c2a2503c866b9efb0\",\"dweb:/ipfs/QmSc4qNo2ymtCevvgDKESYuVi1JD7PCWbMKfDoEhNwj4aS\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]},\"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\":\"0x7033d8133957a291cf9b8be30bfc4b95e6414a20995911d1b5df8ea149580604\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e20a079adc224113306392d27e0cf202c6c4a7678c4705fd3bbbca99c1e9b816\",\"dweb:/ipfs/QmWrFv2SbSokhrWhwL94sW5x1HyT7rX5f4Scowe4bWHHqu\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x83401b23b1c144561e674e86738e0d907c8fa15d90d79254415b3f5f215035c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e031f9a24c7030cd2d160a64a581fd3a69a06d7dc71bcf704b48f391c3d63fc6\",\"dweb:/ipfs/QmVpX6PdfgPGJZp3W5H4CGqVUqmNx9ttb4V5cz3YgBTypQ\"]},\"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\":\"0xbeb025c71f037acb1a668174eb6930631bf397129beb825f2660e5d8cf19614f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe6ce4dcd500093ae069d35b91829ccb471e1ca33ed0851fb053fbfe76c78aba\",\"dweb:/ipfs/QmT7huvCFS6bHDxt7HhEogJmyvYNbeb6dFTJudsVSX6nEs\"]}},\"version\":1}",
  "bytecode": "0x610240604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051615c7c380380615c7c833981016040819052610041916101b6565b87878787878787878787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100c457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100cd81610135565b5030608052151560c052600160025560e091909152805160209091012061012052506001600160a01b03908116610140529485166101a05250505016610180526101c0939093526101e0919091526102005261022052506102389a5050505050505050505050565b600180546001600160a01b031916905561014e81610151565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461014e57600080fd5b600080600080600080600080610100898b0312156101d357600080fd5b88516101de816101a1565b60208a01519098506101ef816101a1565b60408a0151909750801515811461020557600080fd5b60608a015160808b015160a08c015160c08d015160e0909d01519b9e9a9d50929b919a9099929850909650945092505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161593761034560003960008181610bad0152611e3e01526000610bd9015260008181610c190152610c6101526000611e680152600081816109030152818161176d015281816117b501528181611880015261193d0152600081816106c50152818161191301528181611acb015261208601526000610870015260006109a00152600061052e0152600061094e01526000611b5e01526000818161055f0152611d16015260005050600081816104e401528181610839015281816116a2015281816116fc01528181611a030152611a2501526159376000f3fe6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b604051602001610317949392919061431a565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b6103463660046143ae565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143de565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614455565b610c96565b3480156103ba57600080fd5b506103ce6103c9366004614496565b611000565b604051610357919061452f565b3480156103e757600080fd5b506103fb6103f6366004614496565b611272565b60405161035791906145c4565b34801561041457600080fd5b50610428610423366004614496565b6113d8565b6040516103579190614601565b34801561044157600080fd5b506102b1610450366004614674565b6113e3565b61038061046336600461472a565b61149c565b34801561047457600080fd5b506102b1610483366004614775565b6115a6565b34801561049457600080fd5b506104a86104a3366004614455565b611a9a565b60405161035791906147fa565b3480156104c157600080fd5b506102b16104d0366004614674565b611b43565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611b57565b604051610357919061485e565b3480156105b157600080fd5b506105c56105c0366004614455565b611b87565b6040516103579190614881565b3480156105de57600080fd5b506103806105ed36600461490d565b611c42565b3480156105fe57600080fd5b5061034b61060d3660046143ae565b611d12565b34801561061e57600080fd5b5061063261062d366004614496565b611d68565b604051610357919061495f565b34801561064b57600080fd5b5061038061065a366004614496565b60009081526000805160206158e28339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611d73565b3480156106aa57600080fd5b506102b1611d87565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461497d565b611dfe565b34801561076357600080fd5b50610598610772366004614496565b611e96565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b03660046149ad565b611f34565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614a2a565b612063565b6103806107f8366004614a4c565b612139565b34801561080957600080fd5b5061081d610818366004614496565b612293565b6040516103579190614ac1565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614496565b6122c7565b6040516103579190614aed565b3480156108cb57600080fd5b506103806108da366004614b3a565b6122e5565b3480156108eb57600080fd5b50610598612400565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612437565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614ba1565b612454565b6102b16109e3366004614496565b612513565b3480156109f457600080fd5b506102b1610a033660046143ae565b612611565b348015610a1457600080fd5b506103ce610a23366004614496565b612682565b610a30612400565b81604051602001610a42929190614bde565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161485e565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c47565b610aae906030614c69565b90506000610abd601086614c82565b610ac8906030614c69565b905060398260ff161115610ae457610ae1600783614c69565b91505b60398160ff161115610afe57610afb600782614c69565b90505b8160f81b83600081518110610b1557610b15614ca4565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614ca4565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610bd37f00000000000000000000000000000000000000000000000000000000000000006003614cba565b610bfd907f0000000000000000000000000000000000000000000000000000000000000000614cd1565b9050808362ffffff161080610c3f575080610c3d62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614cd1565b105b15610c5657610c4e8185614cba565b915050610b9f565b610c8562ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614cd1565b610c4e9085614cba565b5092915050565b6000610cf86000805160206158c28339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff16906126a0565b60005b82811015610fef576001610d32858584818110610d1a57610d1a614ca4565b9050602002810190610d2c9190614ce4565b356126b2565b6003811115610d4357610d436145d7565b14610e28577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d7b57610d7b614ca4565b9050602002810190610d8d9190614ce4565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dc89060019060040161495f565b600060405180830381865af4158015610de5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0d9190810190614d53565b604051610e1b929190614d87565b60405180910390a1610fe7565b838382818110610e3a57610e3a614ca4565b9050602002810190610e4c9190614ce4565b610e5d906040810190602001614da0565b63ffffffff161580610ea05750838382818110610e7c57610e7c614ca4565b9050602002810190610e8e9190614ce4565b610e9c906060810190614dbb565b1590505b15610f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610ed857610ed8614ca4565b9050602002810190610eea9190614ce4565b35610ef3612400565b604051602001610f039190614e01565b60408051601f1981840301815290829052610e1b9291614d87565b610fda848483818110610f3357610f33614ca4565b9050602002810190610f459190614ce4565b35858584818110610f5857610f58614ca4565b9050602002810190610f6a9190614ce4565b610f7b906040810190602001614da0565b868685818110610f8d57610f8d614ca4565b9050602002810190610f9f9190614ce4565b60400135878786818110610fb557610fb5614ca4565b9050602002810190610fc79190614ce4565b610fd5906060810190614dbb565b612733565b610fe49083614cd1565b91505b600101610cfb565b508015610b9f57610b9f3382612912565b6110086141cf565b81600380611015836126b2565b6003811115611026576110266145d7565b146110b5576040516353e8875160e11b81526110b09073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b600060405180830381865af4158015611083573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ab9190810190614d53565b610a28565b61126b565b836110fe6110c282612948565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b039091163314906126a0565b61110785612948565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff1692820192909252600583015460608201526006909201805460808401919061116c90614e3a565b80601f016020809104026020016040519081016040528092919081815260200182805461119890614e3a565b80156111e55780601f106111ba576101008083540402835291602001916111e5565b820191906000526020600020905b8154815290600101906020018083116111c857829003601f168201915b50505050508152505093506112056000805160206158c283398151915290565b6000868152600191820160205260408120818155918290829061122a908301826141ff565b506000600282018190556003909101805468ffffffffffffffffff1916905560048301818155600584018290559061126560068501826141ff565b50505050505b5050919050565b6112b66040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112bf82612948565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061131790614e3a565b80601f016020809104026020016040519081016040528092919081815260200182805461134390614e3a565b80156113905780601f1061136557610100808354040283529160200191611390565b820191906000526020600020905b81548152906001019060200180831161137357829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612966565b6113eb612a7e565b60005b815181101561146157600082828151811061140b5761140b614ca4565b60200260200101519050600061142c6000805160206158c283398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016113ee565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114919190614e6e565b60405180910390a150565b60006114a83a84612063565b6114e181345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b8152506126a0565b61151f6114ef82600a614cba565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b8152506126a0565b8261155561152c82612aab565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b8152506126a0565b61156185856000612b04565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61683348660405161159693929190614ed3565b60405180910390a1505092915050565b6000546001600160a01b03166060816115f9576060838060200190518101906115cf9190614f1a565b90935090506115dd83612bd8565b808060200190518101906115f19190614f6a565b915050611653565b61163c826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b8152506126a0565b828060200190518101906116509190614f6a565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116c457507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156116fa576116fa6040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b602082015261179e907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b1515906126a0565b611871630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190615003565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b8152506126a0565b6119f8306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611900919061502d565b6001600160a01b03161480156119c857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bd919061502d565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b8152506126a0565b611a0181612bf1565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611a80611b57565b604051611a8d919061485e565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611af7907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161504a565b600060405180830381865af4158015611b14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b3c9190810190615094565b9392505050565b611b4b612a7e565b611b5481612bf1565b50565b6060611b827f0000000000000000000000000000000000000000000000000000000000000000612c97565b905090565b6060816001600160401b03811115611ba157611ba161460f565b604051908082528060200260200182016040528015611bca578160200160208202803683370190505b50905060005b82811015610c8f57611bf9848483818110611bed57611bed614ca4565b905060200201356126b2565b828281518110611c0b57611c0b614ca4565b60200260200101906003811115611c2457611c246145d7565b90816003811115611c3757611c376145d7565b905250600101611bd0565b6000611c5b6000805160206158c2833981519152610cab565b84600180611c68836126b2565b6003811115611c7957611c796145d7565b14611cbe576040516353e8875160e11b8152611cb99073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b611d08565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611cf890851515906126a0565b611d058742888888612d3b565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611d586000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f826126b2565b611d7b612a7e565b611d856000612bd8565b565b60015433906001600160a01b03168114611df55760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611b5481612bd8565b6000602061ffff831615611e1c57611e1760018461514f565b611e1f565b60005b611e29919061516a565b611e3490600461518b565b611e629061ffff167f0000000000000000000000000000000000000000000000000000000000000000614cba565b611e8c907f0000000000000000000000000000000000000000000000000000000000000000614cd1565b611b3c9084614cba565b6060611ea182612d5f565b6002018054611eaf90614e3a565b80601f0160208091040260200160405190810160405280929190818152602001828054611edb90614e3a565b8015611f285780601f10611efd57610100808354040283529160200191611f28565b820191906000526020600020905b815481529060010190602001808311611f0b57829003601f168201915b50505050509050919050565b60008060005b87811015612057576001611f598a8a84818110611bed57611bed614ca4565b6003811115611f6a57611f6a6145d7565b0361204f576000611f928a8a84818110611f8657611f86614ca4565b90506020020135612948565b8054909150611fb190600160b81b90046001600160481b031685614cd1565b8154909450600160a01b900462ffffff1615611ff1578054611fe0908790600160a01b900462ffffff16610ba5565b611fea9084614cd1565b9250612021565b60028101541561200957611fe0868260020154612063565b612014866000611dfe565b61201e9084614cd1565b92505b8461202e82600301612d80565b6001600160401b03166120419190614cba565b61204b9084614cd1565b9250505b600101611f3a565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f191906151a6565b905061212760008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b8152506126a0565b6121318482611dfe565b949350505050565b600033826121f3823b158015906121b457506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa158015612190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b491906151c3565b80156121c5575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b8152506126a0565b6121fe3a5b85610ba5565b61220881346114ae565b6122166114ef82600a614cba565b8561222361152c82612aab565b61222f60008888612b04565b9450888861223c87612948565b6001019161224b919083615235565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161227f93929190614ed3565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152816122b56110c282612948565b6122be83612db0565b91505b50919050565b6122cf61423e565b816122dc6110c282612948565b6122be83612f23565b60006122fe6000805160206158c2833981519152610cab565b8560018061230b836126b2565b600381111561231c5761231c6145d7565b14612361576040516353e8875160e11b815261235c9073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b6123f5565b6123ab60008863ffffffff161180156123805750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b8152506126a0565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526123e590851515906126a0565b6123f28888888888612d3b565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c654f62736375726f00000000602082015290565b60006000805160206158c283398151915254611b82906001614cd1565b60003382612492823b158015906121b457506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612173565b61249b3a6121f8565b6124a581346114ae565b6124b36114ef82600a614cba565b856124c061152c82612aab565b6124cb888888612b04565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161250093929190614ed3565b60405180910390a1505050509392505050565b80600180612520836126b2565b6003811115612531576125316145d7565b14612576576040516353e8875160e11b81526125719073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b505050565b600061258184612948565b905034815482906017906125a6908490600160b81b90046001600160481b03166152f5565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612619612a7e565b600180546001600160a01b0383166001600160a01b0319909116811790915561264a6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61268a6141cf565b816126976110c282612948565b6122be83613159565b816126ae576126ae81610a28565b5050565b60008181526000805160206158e2833981519152602052604081206004810154600160e01b900463ffffffff1615612711576004810154600160a01b90046001600160401b031643106127085750600392915050565b50600292915050565b80546001600160a01b03161561272a5750600192915050565b50600092915050565b60008061273f87612948565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff161561288b578054600090819081906127ae908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613256565b92509250925081156127fe57604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612868565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a87600087511161284b576040518060600160405280602981526020016158786029913961284d565b865b60405161285f96959493929190615315565b60405180910390a15b6128838a8a8a604051806020016040528060008152506135ec565b505050612908565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a161290887878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135ec92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612571573d6000803e3d6000fd5b60009081526000805160206158e28339815191526020526040902090565b600080612972836126b2565b90506003816003811115612988576129886145d7565b03612a3a5760008381526000805160206158e283398151915260205260408120600601805490919082906129bb90614e3a565b90501115612a30578054601b60fb1b9082906000906129d990614e3a565b81106129e7576129e7614ca4565b815460011615612a065790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612a26576002612131565b6003949350505050565b5060059392505050565b6001816003811115612a4e57612a4e6145d7565b03612a5c5750600192915050565b6002816003811115612a7057612a706145d7565b0361272a5750600492915050565b6000546001600160a01b03163314611d855760405163118cdaa760e01b8152336004820152602401610a68565b600080612abe6040840160208501615372565b6001600160401b0316118015612ae357506000612ade602084018461538f565b60ff16115b8015610b9f5750607f612af9602084018461538f565b60ff16111592915050565b60006000805160206158c28339815191528054600090612b23906153ac565b918290555090506000612b3582612948565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612b75916001600160a01b0390911615906126a0565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b0316178155600281018590558360038201612bcd82826153c5565b905050509392505050565b600180546001600160a01b0319169055611b54816136b9565b60005b8151811015612c67576000828281518110612c1157612c11614ca4565b602002602001015190506001612c326000805160206158c283398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101612bf4565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114919190614e6e565b60606000612ca483613709565b6001600160401b03811115612cbb57612cbb61460f565b6040519080825280601f01601f191660200182016040528015612ce5576020820181803683370190505b50905060005b8151811015610c8f57838160208110612d0657612d06614ca4565b1a60f81b828281518110612d1c57612d1c614ca4565b60200101906001600160f81b031916908160001a905350600101612ceb565b6000612d4a8686868686612733565b9050612d563382612912565b95945050505050565b60009081526000805160206158e28339815191526020526040902060040190565b8054600090612d939060ff166003614c69565b8254610b9f9160ff169061010090046001600160401b0316615415565b6040805180820190915260008152606060208201526000612dd083612966565b905073__WitnetErrorsLib_______________________63a62b846282612df686612d5f565b6002016040518363ffffffff1660e01b8152600401612e16929190615440565b600060405180830381865af4925050508015612e5457506040513d6000823e601f3d908101601f19168201604052612e5191908101906154df565b60015b611b3c57612e60615578565b806308c379a003612ebc5750612e74615594565b80612e7f5750612ebe565b60408051808201909152806000815260200182604051602001612ea2919061561d565b60408051601f198184030181529190529052949350505050565b505b3d808015612ee8576040519150601f19603f3d011682016040523d82523d6000602084013e612eed565b606091505b506040805180820190915280600081526020016040518060600160405280602181526020016158a1602191399052949350505050565b612f2b61423e565b60008281526000805160206158e283398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a085019190612fa690614e3a565b80601f0160208091040260200160405190810160405280929190818152602001828054612fd290614e3a565b801561301f5780601f10612ff45761010080835404028352916020019161301f565b820191906000526020600020905b81548152906001019060200180831161300257829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906130cd90614e3a565b80601f01602080910402602001604051908101604052809291908181526020018280546130f990614e3a565b80156131465780601f1061311b57610100808354040283529160200191613146565b820191906000526020600020905b81548152906001019060200180831161312957829003601f168201915b5050509190925250505090525092915050565b6131616141cf565b61316a82612d5f565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff1691810191909152600182015460608201526002820180549192916080840191906131cd90614e3a565b80601f01602080910402602001604051908101604052809291908181526020018280546131f990614e3a565b80156132465780601f1061321b57610100808354040283529160200191613246565b820191906000526020600020905b81548152906001019060200180831161322957829003601f168201915b5050505050815250509050919050565b60008060605a9250601b60fb1b878760008161327457613274614ca4565b9050013560f81c60f81b6001600160f81b031916036134c45760006132d66132d189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b61376c565b90506002815110156133fd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161338a969594939291906156d7565b600060405180830381600088803b1580156133a457600080fd5b5087f1935050505080156133b6575060015b6133f4576133c2615578565b806308c379a0036133e857506133d6615594565b806133e157506133ea565b91506134be565b505b3d6000803e3d6000fd5b600192506134be565b856001600160a01b03166363febc9c868d8d8d436134348860008151811061342757613427614ca4565b602002602001015161391c565b60fe811115613445576134456145d7565b8860008151811061345857613458614ca4565b60200260200101516040518863ffffffff1660e01b8152600401613481969594939291906156d7565b600060405180830381600088803b15801561349b57600080fd5b5087f1935050505080156134ad575060015b6134b9576133c2615578565b600192505b506135d2565b846001600160a01b031663bcc6307b858c8c8c436135178e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b6040518763ffffffff1660e01b8152600401613537959493929190615724565b600060405180830381600088803b15801561355157600080fd5b5087f193505050508015613563575060015b6135cd5761356f615578565b806308c379a0036135955750613583615594565b8061358e5750613597565b90506135d2565b505b3d8080156135c1576040519150601f19603f3d011682016040523d82523d6000602084013e6135c6565b606091505b50506135d2565b600191505b5a6135dd9084615758565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061363485612948565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136b0908261576b565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137425781816020811061372757613727614ca4565b1a60f81b6001600160f81b031916156137425760010161370c565b919050565b61374f61429a565b60408051808201909152828152600060208201526122be8161397f565b60608160048060ff16826040015160ff16146137ac57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137c085600001518660600151613a9f565b90506137cd81600161582a565b6001600160401b03166001600160401b038111156137ed576137ed61460f565b60405190808252806020026020018201604052801561382657816020015b61381361429a565b81526020019060019003908161380b5790505b50935060005b816001600160401b03168110156138ec5761384686613b67565b955061385186613b8f565b85828151811061386357613863614ca4565b6020026020010181905250600460ff16866040015160ff16036138bc57600061388b8761376c565b9050806001825161389c9190615758565b815181106138ac576138ac614ca4565b60200260200101519650506138e4565b600560ff16866040015160ff16036138d957600061388b87613c27565b6138e286613e11565b505b60010161382c565b508484826001600160401b03168151811061390957613909614ca4565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461395c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61396e84600001518560600151613a9f565b6001600160401b0316949350505050565b61398761429a565b81515182906000036139ac576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a2f576139cc89613fd6565b9550816139d8816153ac565b6007600589901c169650601f881695509250506005198501613a27576020890151613a038a86613a9f565b9350808a60200151613a159190615758565b613a1f9084614cd1565b9250506139bd565b5060006139bd565b600760ff86161115613a595760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ab7575060ff8116610b9f565b8160ff16601803613ad557613acb83613fd6565b60ff169050610b9f565b8160ff16601903613af457613ae983614038565b61ffff169050610b9f565b8160ff16601a03613b1557613b08836140a4565b63ffffffff169050610b9f565b8160ff16601b03613b3057613b2983614103565b9050610b9f565b8160ff16601f03613b4957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b6f61429a565b81518051516020909101511015613b8b578151610b9f9061397f565b5090565b613b9761429a565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c6757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c7b85600001518660600151613a9f565b613c86906002615415565b9050613c9381600161582a565b6001600160401b03166001600160401b03811115613cb357613cb361460f565b604051908082528060200260200182016040528015613cec57816020015b613cd961429a565b815260200190600190039081613cd15790505b50935060005b816001600160401b03168110156138ec57613d0c86613b67565b9550613d1786613b8f565b858281518110613d2957613d29614ca4565b6020908102919091010152613d3f60028261584a565b158015613d545750604086015160ff16600314155b15613d8257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d9f5750604086015160ff166005145b15613dfe57604086015160009060ff16600414613dc457613dbf87613c27565b613dcd565b613dcd8761376c565b90508060018251613dde9190615758565b81518110613dee57613dee614ca4565b6020026020010151965050613e09565b613e0786613e11565b505b600101613cf2565b613e1961429a565b604082015160ff161580613e345750604082015160ff166001145b80613e6d5750604082015160ff166007148015613e5957506019826060015160ff1610155b8015613e6d5750601b826060015160ff1611155b15613ea057613e7b82614162565b6001600160401b03168260000151602001818151613e999190614cd1565b9052505090565b604082015160ff1660031480613ebd5750604082015160ff166002145b15613f01576000613ed683600001518460600151613a9f565b9050806001600160401b03168360000151602001818151613ef79190614cd1565b905250613b8b9050565b604082015160ff1660041480613f1e5750604082015160ff166005145b15613f4757613f3582600001518360600151613a9f565b6001600160401b031660808301525090565b604082015160ff166007141580613f795750816060015160ff16601414158015613f795750816060015160ff16601514155b15613b8b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b600081602001518260000151518082111561400e576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061402b826153ac565b8152505050505050919050565b60008160200151600261404b9190614cd1565b82515180821115614079576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140978284614cd1565b9052509395945050505050565b6000816020015160046140b79190614cd1565b825151808211156140e5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140978284614cd1565b6000816020015160086141169190614cd1565b82515180821115614144576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140978284614cd1565b60006018826060015160ff16101561417c57506000919050565b601c826060015160ff1610156141ab576018826060015161419d919061585e565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b50805461420b90614e3a565b6000825580601f1061421b575050565b601f016020900490600052602060002090810190611b5491906142e1565b905290565b604051806040016040528061428d6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526020016142396141cf565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b8b57600081556001016142e2565b60005b838110156143115781810151838201526020016142f9565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614348816013850160208a016142f6565b85519083019061435f816013840160208a016142f6565b85519101906143758160138401602089016142f6565b845191019061438b8160138401602088016142f6565b016013019695505050505050565b6001600160a01b0381168114611b5457600080fd5b6000602082840312156143c057600080fd5b8135611b3c81614399565b803562ffffff8116811461374257600080fd5b600080604083850312156143f157600080fd5b82359150614401602084016143cb565b90509250929050565b60008083601f84011261441c57600080fd5b5081356001600160401b0381111561443357600080fd5b6020830191508360208260051b850101111561444e57600080fd5b9250929050565b6000806020838503121561446857600080fd5b82356001600160401b0381111561447e57600080fd5b61448a8582860161440a565b90969095509350505050565b6000602082840312156144a857600080fd5b5035919050565b600081518084526144c78160208601602086016142f6565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261213160a08501826144af565b602081526000611b3c60208301846144db565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261458b60e08501826144af565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b3c6020830184614542565b634e487b7160e01b600052602160045260246000fd5b600681106145fd576145fd6145d7565b9052565b60208101610b9f82846145ed565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561464a5761464a61460f565b6040525050565b60006001600160401b0382111561466a5761466a61460f565b5060051b60200190565b6000602080838503121561468757600080fd5b82356001600160401b0381111561469d57600080fd5b8301601f810185136146ae57600080fd5b80356146b981614651565b6040516146c68282614625565b82815260059290921b83018401918481019150878311156146e657600080fd5b928401925b8284101561470d5783356146fe81614399565b825292840192908401906146eb565b979650505050505050565b6000604082840312156122c157600080fd5b6000806060838503121561473d57600080fd5b823591506144018460208501614718565b60006001600160401b038211156147675761476761460f565b50601f01601f191660200190565b60006020828403121561478757600080fd5b81356001600160401b0381111561479d57600080fd5b8201601f810184136147ae57600080fd5b80356147b98161474e565b6040516147c68282614625565b8281528660208486010111156147db57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561485157603f1988860301845261483f8583516144af565b94509285019290850190600101614823565b5092979650505050505050565b602081526000611b3c60208301846144af565b600481106145fd576145fd6145d7565b6020808252825182820181905260009190848201906040850190845b818110156148c0576148b0838551614871565b928401929184019160010161489d565b50909695505050505050565b60008083601f8401126148de57600080fd5b5081356001600160401b038111156148f557600080fd5b60208301915083602082850101111561444e57600080fd5b6000806000806060858703121561492357600080fd5b843593506020850135925060408501356001600160401b0381111561494757600080fd5b614953878288016148cc565b95989497509550505050565b60208101610b9f8284614871565b61ffff81168114611b5457600080fd5b6000806040838503121561499057600080fd5b8235915060208301356149a28161496d565b809150509250929050565b600080600080600080608087890312156149c657600080fd5b86356001600160401b03808211156149dd57600080fd5b6149e98a838b0161440a565b90985096506020890135915080821115614a0257600080fd5b50614a0f89828a016148cc565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a3d57600080fd5b50508035926020909101359150565b60008060008060808587031215614a6257600080fd5b84356001600160401b03811115614a7857600080fd5b614a84878288016148cc565b9095509350614a9890508660208701614718565b9150614aa6606086016143cb565b905092959194509250565b60ff81106145fd576145fd6145d7565b60208152614ad3602082018351614ab1565b6000602083015160408084015261213160608401826144af565b602081526000825160406020840152614b096060840182614542565b90506020840151601f19848303016040850152612d5682826144db565b803563ffffffff8116811461374257600080fd5b600080600080600060808688031215614b5257600080fd5b85359450614b6260208701614b26565b93506040860135925060608601356001600160401b03811115614b8457600080fd5b614b90888289016148cc565b969995985093965092949392505050565b600080600060808486031215614bb657600080fd5b83359250614bc78560208601614718565b9150614bd5606085016143cb565b90509250925092565b60008351614bf08184602088016142f6565b6101d160f51b9083019081528351614c0f8160028401602088016142f6565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c5a57614c5a614c1b565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c31565b600060ff831680614c9557614c95614c1b565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b9f57610b9f614c31565b80820180821115610b9f57610b9f614c31565b60008235607e19833603018112614cfa57600080fd5b9190910192915050565b600082601f830112614d1557600080fd5b8151614d208161474e565b604051614d2d8282614625565b828152856020848701011115614d4257600080fd5b612d568360208301602088016142f6565b600060208284031215614d6557600080fd5b81516001600160401b03811115614d7b57600080fd5b61213184828501614d04565b82815260406020820152600061213160408301846144af565b600060208284031215614db257600080fd5b611b3c82614b26565b6000808335601e19843603018112614dd257600080fd5b8301803591506001600160401b03821115614dec57600080fd5b60200191503681900382131561444e57600080fd5b60008251614e138184602087016142f6565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e4e57607f821691505b6020821081036122c157634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148c05783516001600160a01b031683529284019291840191600101614e8a565b60ff81168114611b5457600080fd5b6001600160401b0381168114611b5457600080fd5b83815260208101839052608081018235614eec81614eaf565b60ff1660408301526020830135614f0281614ebe565b6001600160401b038116606084015250949350505050565b60008060408385031215614f2d57600080fd5b8251614f3881614399565b60208401519092506001600160401b03811115614f5457600080fd5b614f6085828601614d04565b9150509250929050565b60006020808385031215614f7d57600080fd5b82516001600160401b03811115614f9357600080fd5b8301601f81018513614fa457600080fd5b8051614faf81614651565b604051614fbc8282614625565b82815260059290921b8301840191848101915087831115614fdc57600080fd5b928401925b8284101561470d578351614ff481614399565b82529284019290840190614fe1565b60006020828403121561501557600080fd5b81516001600160e01b031981168114611b3c57600080fd5b60006020828403121561503f57600080fd5b8151611b3c81614399565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561507a57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208083850312156150a757600080fd5b82516001600160401b03808211156150be57600080fd5b818501915085601f8301126150d257600080fd5b81516150dd81614651565b6040516150ea8282614625565b82815260059290921b840185019185810191508883111561510a57600080fd5b8585015b83811015615142578051858111156151265760008081fd5b6151348b89838a0101614d04565b84525091860191860161510e565b5098975050505050505050565b61ffff828116828216039080821115610c8f57610c8f614c31565b600061ffff8084168061517f5761517f614c1b565b92169190910492915050565b61ffff818116838216019080821115610c8f57610c8f614c31565b6000602082840312156151b857600080fd5b8151611b3c8161496d565b6000602082840312156151d557600080fd5b81518015158114611b3c57600080fd5b601f821115612571576000816000526020600020601f850160051c8101602086101561520e5750805b601f850160051c820191505b8181101561522d5782815560010161521a565b505050505050565b6001600160401b0383111561524c5761524c61460f565b6152608361525a8354614e3a565b836151e5565b6000601f841160018114615294576000851561527c5750838201355b600019600387901b1c1916600186901b1783556152ee565b600083815260209020601f19861690835b828110156152c557868501358255602094850194600190920191016152a5565b50868210156152e25760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6001600160481b03818116838216019080821115610c8f57610c8f614c31565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261536560c08201856144af565b9998505050505050505050565b60006020828403121561538457600080fd5b8135611b3c81614ebe565b6000602082840312156153a157600080fd5b8135611b3c81614eaf565b6000600182016153be576153be614c31565b5060010190565b81356153d081614eaf565b60ff8116905081548160ff19821617835560208401356153ef81614ebe565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461543857615438614c31565b505092915050565b61544a81846145ed565b60006020604060208401526000845461546281614e3a565b806040870152606060018084166000811461548457600181146154a0576154d0565b60ff19851660608a0152606084151560051b8a010195506154d0565b89600052602060002060005b858110156154c75781548b82018601529083019088016154ac565b8a016060019650505b50939998505050505050505050565b6000602082840312156154f157600080fd5b81516001600160401b038082111561550857600080fd5b908301906040828603121561551c57600080fd5b6040516040810181811083821117156155375761553761460f565b604052825160ff811061554957600080fd5b815260208301518281111561555d57600080fd5b61556987828601614d04565b60208301525095945050505050565b600060033d11156155915760046000803e5060005160e01c5b90565b600060443d10156155a25790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156155d157505050505090565b82850191508151818111156155e95750505050505090565b843d87010160208285010111156156035750505050505090565b61561260208286010187614625565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516156498160118501602087016142f6565b9190910160110192915050565b6000815160c084528051604060c08601526156756101008601826144af565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526157026080820184614ab1565b60c060a0820152600061571860c0830184615656565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a06080820152600061470d60a0830184615656565b81810381811115610b9f57610b9f614c31565b81516001600160401b038111156157845761578461460f565b615798816157928454614e3a565b846151e5565b602080601f8311600181146157cd57600084156157b55750858301515b600019600386901b1c1916600185901b17855561522d565b600085815260208120601f198616915b828110156157fc578886015182559484019460019091019084016157dd565b508582101561581a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610c8f57610c8f614c31565b60008261585957615859614c1b565b500690565b60ff8281168282160390811115610b9f57610b9f614c3156fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220bde0a4ecafec970375604e2da63aee7a1467ba209f8dfa4fb4b3aa6172c23ba364736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b604051602001610317949392919061431a565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b6103463660046143ae565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143de565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614455565b610c96565b3480156103ba57600080fd5b506103ce6103c9366004614496565b611000565b604051610357919061452f565b3480156103e757600080fd5b506103fb6103f6366004614496565b611272565b60405161035791906145c4565b34801561041457600080fd5b50610428610423366004614496565b6113d8565b6040516103579190614601565b34801561044157600080fd5b506102b1610450366004614674565b6113e3565b61038061046336600461472a565b61149c565b34801561047457600080fd5b506102b1610483366004614775565b6115a6565b34801561049457600080fd5b506104a86104a3366004614455565b611a9a565b60405161035791906147fa565b3480156104c157600080fd5b506102b16104d0366004614674565b611b43565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611b57565b604051610357919061485e565b3480156105b157600080fd5b506105c56105c0366004614455565b611b87565b6040516103579190614881565b3480156105de57600080fd5b506103806105ed36600461490d565b611c42565b3480156105fe57600080fd5b5061034b61060d3660046143ae565b611d12565b34801561061e57600080fd5b5061063261062d366004614496565b611d68565b604051610357919061495f565b34801561064b57600080fd5b5061038061065a366004614496565b60009081526000805160206158e28339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611d73565b3480156106aa57600080fd5b506102b1611d87565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461497d565b611dfe565b34801561076357600080fd5b50610598610772366004614496565b611e96565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b03660046149ad565b611f34565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614a2a565b612063565b6103806107f8366004614a4c565b612139565b34801561080957600080fd5b5061081d610818366004614496565b612293565b6040516103579190614ac1565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614496565b6122c7565b6040516103579190614aed565b3480156108cb57600080fd5b506103806108da366004614b3a565b6122e5565b3480156108eb57600080fd5b50610598612400565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612437565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614ba1565b612454565b6102b16109e3366004614496565b612513565b3480156109f457600080fd5b506102b1610a033660046143ae565b612611565b348015610a1457600080fd5b506103ce610a23366004614496565b612682565b610a30612400565b81604051602001610a42929190614bde565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161485e565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c47565b610aae906030614c69565b90506000610abd601086614c82565b610ac8906030614c69565b905060398260ff161115610ae457610ae1600783614c69565b91505b60398160ff161115610afe57610afb600782614c69565b90505b8160f81b83600081518110610b1557610b15614ca4565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614ca4565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610bd37f00000000000000000000000000000000000000000000000000000000000000006003614cba565b610bfd907f0000000000000000000000000000000000000000000000000000000000000000614cd1565b9050808362ffffff161080610c3f575080610c3d62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614cd1565b105b15610c5657610c4e8185614cba565b915050610b9f565b610c8562ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614cd1565b610c4e9085614cba565b5092915050565b6000610cf86000805160206158c28339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff16906126a0565b60005b82811015610fef576001610d32858584818110610d1a57610d1a614ca4565b9050602002810190610d2c9190614ce4565b356126b2565b6003811115610d4357610d436145d7565b14610e28577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d7b57610d7b614ca4565b9050602002810190610d8d9190614ce4565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dc89060019060040161495f565b600060405180830381865af4158015610de5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0d9190810190614d53565b604051610e1b929190614d87565b60405180910390a1610fe7565b838382818110610e3a57610e3a614ca4565b9050602002810190610e4c9190614ce4565b610e5d906040810190602001614da0565b63ffffffff161580610ea05750838382818110610e7c57610e7c614ca4565b9050602002810190610e8e9190614ce4565b610e9c906060810190614dbb565b1590505b15610f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610ed857610ed8614ca4565b9050602002810190610eea9190614ce4565b35610ef3612400565b604051602001610f039190614e01565b60408051601f1981840301815290829052610e1b9291614d87565b610fda848483818110610f3357610f33614ca4565b9050602002810190610f459190614ce4565b35858584818110610f5857610f58614ca4565b9050602002810190610f6a9190614ce4565b610f7b906040810190602001614da0565b868685818110610f8d57610f8d614ca4565b9050602002810190610f9f9190614ce4565b60400135878786818110610fb557610fb5614ca4565b9050602002810190610fc79190614ce4565b610fd5906060810190614dbb565b612733565b610fe49083614cd1565b91505b600101610cfb565b508015610b9f57610b9f3382612912565b6110086141cf565b81600380611015836126b2565b6003811115611026576110266145d7565b146110b5576040516353e8875160e11b81526110b09073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b600060405180830381865af4158015611083573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ab9190810190614d53565b610a28565b61126b565b836110fe6110c282612948565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b039091163314906126a0565b61110785612948565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff1692820192909252600583015460608201526006909201805460808401919061116c90614e3a565b80601f016020809104026020016040519081016040528092919081815260200182805461119890614e3a565b80156111e55780601f106111ba576101008083540402835291602001916111e5565b820191906000526020600020905b8154815290600101906020018083116111c857829003601f168201915b50505050508152505093506112056000805160206158c283398151915290565b6000868152600191820160205260408120818155918290829061122a908301826141ff565b506000600282018190556003909101805468ffffffffffffffffff1916905560048301818155600584018290559061126560068501826141ff565b50505050505b5050919050565b6112b66040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112bf82612948565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061131790614e3a565b80601f016020809104026020016040519081016040528092919081815260200182805461134390614e3a565b80156113905780601f1061136557610100808354040283529160200191611390565b820191906000526020600020905b81548152906001019060200180831161137357829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612966565b6113eb612a7e565b60005b815181101561146157600082828151811061140b5761140b614ca4565b60200260200101519050600061142c6000805160206158c283398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016113ee565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114919190614e6e565b60405180910390a150565b60006114a83a84612063565b6114e181345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b8152506126a0565b61151f6114ef82600a614cba565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b8152506126a0565b8261155561152c82612aab565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b8152506126a0565b61156185856000612b04565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61683348660405161159693929190614ed3565b60405180910390a1505092915050565b6000546001600160a01b03166060816115f9576060838060200190518101906115cf9190614f1a565b90935090506115dd83612bd8565b808060200190518101906115f19190614f6a565b915050611653565b61163c826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b8152506126a0565b828060200190518101906116509190614f6a565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116c457507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156116fa576116fa6040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b602082015261179e907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b1515906126a0565b611871630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190615003565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b8152506126a0565b6119f8306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611900919061502d565b6001600160a01b03161480156119c857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bd919061502d565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b8152506126a0565b611a0181612bf1565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611a80611b57565b604051611a8d919061485e565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611af7907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161504a565b600060405180830381865af4158015611b14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b3c9190810190615094565b9392505050565b611b4b612a7e565b611b5481612bf1565b50565b6060611b827f0000000000000000000000000000000000000000000000000000000000000000612c97565b905090565b6060816001600160401b03811115611ba157611ba161460f565b604051908082528060200260200182016040528015611bca578160200160208202803683370190505b50905060005b82811015610c8f57611bf9848483818110611bed57611bed614ca4565b905060200201356126b2565b828281518110611c0b57611c0b614ca4565b60200260200101906003811115611c2457611c246145d7565b90816003811115611c3757611c376145d7565b905250600101611bd0565b6000611c5b6000805160206158c2833981519152610cab565b84600180611c68836126b2565b6003811115611c7957611c796145d7565b14611cbe576040516353e8875160e11b8152611cb99073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b611d08565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611cf890851515906126a0565b611d058742888888612d3b565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611d586000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f826126b2565b611d7b612a7e565b611d856000612bd8565b565b60015433906001600160a01b03168114611df55760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611b5481612bd8565b6000602061ffff831615611e1c57611e1760018461514f565b611e1f565b60005b611e29919061516a565b611e3490600461518b565b611e629061ffff167f0000000000000000000000000000000000000000000000000000000000000000614cba565b611e8c907f0000000000000000000000000000000000000000000000000000000000000000614cd1565b611b3c9084614cba565b6060611ea182612d5f565b6002018054611eaf90614e3a565b80601f0160208091040260200160405190810160405280929190818152602001828054611edb90614e3a565b8015611f285780601f10611efd57610100808354040283529160200191611f28565b820191906000526020600020905b815481529060010190602001808311611f0b57829003601f168201915b50505050509050919050565b60008060005b87811015612057576001611f598a8a84818110611bed57611bed614ca4565b6003811115611f6a57611f6a6145d7565b0361204f576000611f928a8a84818110611f8657611f86614ca4565b90506020020135612948565b8054909150611fb190600160b81b90046001600160481b031685614cd1565b8154909450600160a01b900462ffffff1615611ff1578054611fe0908790600160a01b900462ffffff16610ba5565b611fea9084614cd1565b9250612021565b60028101541561200957611fe0868260020154612063565b612014866000611dfe565b61201e9084614cd1565b92505b8461202e82600301612d80565b6001600160401b03166120419190614cba565b61204b9084614cd1565b9250505b600101611f3a565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f191906151a6565b905061212760008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b8152506126a0565b6121318482611dfe565b949350505050565b600033826121f3823b158015906121b457506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa158015612190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b491906151c3565b80156121c5575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b8152506126a0565b6121fe3a5b85610ba5565b61220881346114ae565b6122166114ef82600a614cba565b8561222361152c82612aab565b61222f60008888612b04565b9450888861223c87612948565b6001019161224b919083615235565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161227f93929190614ed3565b60405180910390a150505050949350505050565b604080518082019091526000815260606020820152816122b56110c282612948565b6122be83612db0565b91505b50919050565b6122cf61423e565b816122dc6110c282612948565b6122be83612f23565b60006122fe6000805160206158c2833981519152610cab565b8560018061230b836126b2565b600381111561231c5761231c6145d7565b14612361576040516353e8875160e11b815261235c9073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b6123f5565b6123ab60008863ffffffff161180156123805750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b8152506126a0565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526123e590851515906126a0565b6123f28888888888612d3b565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c654f62736375726f00000000602082015290565b60006000805160206158c283398151915254611b82906001614cd1565b60003382612492823b158015906121b457506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612173565b61249b3a6121f8565b6124a581346114ae565b6124b36114ef82600a614cba565b856124c061152c82612aab565b6124cb888888612b04565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161250093929190614ed3565b60405180910390a1505050509392505050565b80600180612520836126b2565b6003811115612531576125316145d7565b14612576576040516353e8875160e11b81526125719073__WitnetOracleDataLib___________________9063a7d10ea29061106690859060040161495f565b505050565b600061258184612948565b905034815482906017906125a6908490600160b81b90046001600160481b03166152f5565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612619612a7e565b600180546001600160a01b0383166001600160a01b0319909116811790915561264a6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61268a6141cf565b816126976110c282612948565b6122be83613159565b816126ae576126ae81610a28565b5050565b60008181526000805160206158e2833981519152602052604081206004810154600160e01b900463ffffffff1615612711576004810154600160a01b90046001600160401b031643106127085750600392915050565b50600292915050565b80546001600160a01b03161561272a5750600192915050565b50600092915050565b60008061273f87612948565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff161561288b578054600090819081906127ae908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613256565b92509250925081156127fe57604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612868565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a87600087511161284b576040518060600160405280602981526020016158786029913961284d565b865b60405161285f96959493929190615315565b60405180910390a15b6128838a8a8a604051806020016040528060008152506135ec565b505050612908565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a161290887878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135ec92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612571573d6000803e3d6000fd5b60009081526000805160206158e28339815191526020526040902090565b600080612972836126b2565b90506003816003811115612988576129886145d7565b03612a3a5760008381526000805160206158e283398151915260205260408120600601805490919082906129bb90614e3a565b90501115612a30578054601b60fb1b9082906000906129d990614e3a565b81106129e7576129e7614ca4565b815460011615612a065790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612a26576002612131565b6003949350505050565b5060059392505050565b6001816003811115612a4e57612a4e6145d7565b03612a5c5750600192915050565b6002816003811115612a7057612a706145d7565b0361272a5750600492915050565b6000546001600160a01b03163314611d855760405163118cdaa760e01b8152336004820152602401610a68565b600080612abe6040840160208501615372565b6001600160401b0316118015612ae357506000612ade602084018461538f565b60ff16115b8015610b9f5750607f612af9602084018461538f565b60ff16111592915050565b60006000805160206158c28339815191528054600090612b23906153ac565b918290555090506000612b3582612948565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612b75916001600160a01b0390911615906126a0565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b0316178155600281018590558360038201612bcd82826153c5565b905050509392505050565b600180546001600160a01b0319169055611b54816136b9565b60005b8151811015612c67576000828281518110612c1157612c11614ca4565b602002602001015190506001612c326000805160206158c283398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101612bf4565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114919190614e6e565b60606000612ca483613709565b6001600160401b03811115612cbb57612cbb61460f565b6040519080825280601f01601f191660200182016040528015612ce5576020820181803683370190505b50905060005b8151811015610c8f57838160208110612d0657612d06614ca4565b1a60f81b828281518110612d1c57612d1c614ca4565b60200101906001600160f81b031916908160001a905350600101612ceb565b6000612d4a8686868686612733565b9050612d563382612912565b95945050505050565b60009081526000805160206158e28339815191526020526040902060040190565b8054600090612d939060ff166003614c69565b8254610b9f9160ff169061010090046001600160401b0316615415565b6040805180820190915260008152606060208201526000612dd083612966565b905073__WitnetErrorsLib_______________________63a62b846282612df686612d5f565b6002016040518363ffffffff1660e01b8152600401612e16929190615440565b600060405180830381865af4925050508015612e5457506040513d6000823e601f3d908101601f19168201604052612e5191908101906154df565b60015b611b3c57612e60615578565b806308c379a003612ebc5750612e74615594565b80612e7f5750612ebe565b60408051808201909152806000815260200182604051602001612ea2919061561d565b60408051601f198184030181529190529052949350505050565b505b3d808015612ee8576040519150601f19603f3d011682016040523d82523d6000602084013e612eed565b606091505b506040805180820190915280600081526020016040518060600160405280602181526020016158a1602191399052949350505050565b612f2b61423e565b60008281526000805160206158e283398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a085019190612fa690614e3a565b80601f0160208091040260200160405190810160405280929190818152602001828054612fd290614e3a565b801561301f5780601f10612ff45761010080835404028352916020019161301f565b820191906000526020600020905b81548152906001019060200180831161300257829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906130cd90614e3a565b80601f01602080910402602001604051908101604052809291908181526020018280546130f990614e3a565b80156131465780601f1061311b57610100808354040283529160200191613146565b820191906000526020600020905b81548152906001019060200180831161312957829003601f168201915b5050509190925250505090525092915050565b6131616141cf565b61316a82612d5f565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff1691810191909152600182015460608201526002820180549192916080840191906131cd90614e3a565b80601f01602080910402602001604051908101604052809291908181526020018280546131f990614e3a565b80156132465780601f1061321b57610100808354040283529160200191613246565b820191906000526020600020905b81548152906001019060200180831161322957829003601f168201915b5050505050815250509050919050565b60008060605a9250601b60fb1b878760008161327457613274614ca4565b9050013560f81c60f81b6001600160f81b031916036134c45760006132d66132d189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b61376c565b90506002815110156133fd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161338a969594939291906156d7565b600060405180830381600088803b1580156133a457600080fd5b5087f1935050505080156133b6575060015b6133f4576133c2615578565b806308c379a0036133e857506133d6615594565b806133e157506133ea565b91506134be565b505b3d6000803e3d6000fd5b600192506134be565b856001600160a01b03166363febc9c868d8d8d436134348860008151811061342757613427614ca4565b602002602001015161391c565b60fe811115613445576134456145d7565b8860008151811061345857613458614ca4565b60200260200101516040518863ffffffff1660e01b8152600401613481969594939291906156d7565b600060405180830381600088803b15801561349b57600080fd5b5087f1935050505080156134ad575060015b6134b9576133c2615578565b600192505b506135d2565b846001600160a01b031663bcc6307b858c8c8c436135178e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061374792505050565b6040518763ffffffff1660e01b8152600401613537959493929190615724565b600060405180830381600088803b15801561355157600080fd5b5087f193505050508015613563575060015b6135cd5761356f615578565b806308c379a0036135955750613583615594565b8061358e5750613597565b90506135d2565b505b3d8080156135c1576040519150601f19603f3d011682016040523d82523d6000602084013e6135c6565b606091505b50506135d2565b600191505b5a6135dd9084615758565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061363485612948565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906136b0908261576b565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137425781816020811061372757613727614ca4565b1a60f81b6001600160f81b031916156137425760010161370c565b919050565b61374f61429a565b60408051808201909152828152600060208201526122be8161397f565b60608160048060ff16826040015160ff16146137ac57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137c085600001518660600151613a9f565b90506137cd81600161582a565b6001600160401b03166001600160401b038111156137ed576137ed61460f565b60405190808252806020026020018201604052801561382657816020015b61381361429a565b81526020019060019003908161380b5790505b50935060005b816001600160401b03168110156138ec5761384686613b67565b955061385186613b8f565b85828151811061386357613863614ca4565b6020026020010181905250600460ff16866040015160ff16036138bc57600061388b8761376c565b9050806001825161389c9190615758565b815181106138ac576138ac614ca4565b60200260200101519650506138e4565b600560ff16866040015160ff16036138d957600061388b87613c27565b6138e286613e11565b505b60010161382c565b508484826001600160401b03168151811061390957613909614ca4565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461395c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61396e84600001518560600151613a9f565b6001600160401b0316949350505050565b61398761429a565b81515182906000036139ac576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a2f576139cc89613fd6565b9550816139d8816153ac565b6007600589901c169650601f881695509250506005198501613a27576020890151613a038a86613a9f565b9350808a60200151613a159190615758565b613a1f9084614cd1565b9250506139bd565b5060006139bd565b600760ff86161115613a595760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613ab7575060ff8116610b9f565b8160ff16601803613ad557613acb83613fd6565b60ff169050610b9f565b8160ff16601903613af457613ae983614038565b61ffff169050610b9f565b8160ff16601a03613b1557613b08836140a4565b63ffffffff169050610b9f565b8160ff16601b03613b3057613b2983614103565b9050610b9f565b8160ff16601f03613b4957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b6f61429a565b81518051516020909101511015613b8b578151610b9f9061397f565b5090565b613b9761429a565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c6757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c7b85600001518660600151613a9f565b613c86906002615415565b9050613c9381600161582a565b6001600160401b03166001600160401b03811115613cb357613cb361460f565b604051908082528060200260200182016040528015613cec57816020015b613cd961429a565b815260200190600190039081613cd15790505b50935060005b816001600160401b03168110156138ec57613d0c86613b67565b9550613d1786613b8f565b858281518110613d2957613d29614ca4565b6020908102919091010152613d3f60028261584a565b158015613d545750604086015160ff16600314155b15613d8257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d9f5750604086015160ff166005145b15613dfe57604086015160009060ff16600414613dc457613dbf87613c27565b613dcd565b613dcd8761376c565b90508060018251613dde9190615758565b81518110613dee57613dee614ca4565b6020026020010151965050613e09565b613e0786613e11565b505b600101613cf2565b613e1961429a565b604082015160ff161580613e345750604082015160ff166001145b80613e6d5750604082015160ff166007148015613e5957506019826060015160ff1610155b8015613e6d5750601b826060015160ff1611155b15613ea057613e7b82614162565b6001600160401b03168260000151602001818151613e999190614cd1565b9052505090565b604082015160ff1660031480613ebd5750604082015160ff166002145b15613f01576000613ed683600001518460600151613a9f565b9050806001600160401b03168360000151602001818151613ef79190614cd1565b905250613b8b9050565b604082015160ff1660041480613f1e5750604082015160ff166005145b15613f4757613f3582600001518360600151613a9f565b6001600160401b031660808301525090565b604082015160ff166007141580613f795750816060015160ff16601414158015613f795750816060015160ff16601514155b15613b8b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b600081602001518260000151518082111561400e576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061402b826153ac565b8152505050505050919050565b60008160200151600261404b9190614cd1565b82515180821115614079576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140978284614cd1565b9052509395945050505050565b6000816020015160046140b79190614cd1565b825151808211156140e5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140978284614cd1565b6000816020015160086141169190614cd1565b82515180821115614144576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140978284614cd1565b60006018826060015160ff16101561417c57506000919050565b601c826060015160ff1610156141ab576018826060015161419d919061585e565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915290565b50805461420b90614e3a565b6000825580601f1061421b575050565b601f016020900490600052602060002090810190611b5491906142e1565b905290565b604051806040016040528061428d6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526020016142396141cf565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b8b57600081556001016142e2565b60005b838110156143115781810151838201526020016142f9565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614348816013850160208a016142f6565b85519083019061435f816013840160208a016142f6565b85519101906143758160138401602089016142f6565b845191019061438b8160138401602088016142f6565b016013019695505050505050565b6001600160a01b0381168114611b5457600080fd5b6000602082840312156143c057600080fd5b8135611b3c81614399565b803562ffffff8116811461374257600080fd5b600080604083850312156143f157600080fd5b82359150614401602084016143cb565b90509250929050565b60008083601f84011261441c57600080fd5b5081356001600160401b0381111561443357600080fd5b6020830191508360208260051b850101111561444e57600080fd5b9250929050565b6000806020838503121561446857600080fd5b82356001600160401b0381111561447e57600080fd5b61448a8582860161440a565b90969095509350505050565b6000602082840312156144a857600080fd5b5035919050565b600081518084526144c78160208601602086016142f6565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261213160a08501826144af565b602081526000611b3c60208301846144db565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261458b60e08501826144af565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b3c6020830184614542565b634e487b7160e01b600052602160045260246000fd5b600681106145fd576145fd6145d7565b9052565b60208101610b9f82846145ed565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561464a5761464a61460f565b6040525050565b60006001600160401b0382111561466a5761466a61460f565b5060051b60200190565b6000602080838503121561468757600080fd5b82356001600160401b0381111561469d57600080fd5b8301601f810185136146ae57600080fd5b80356146b981614651565b6040516146c68282614625565b82815260059290921b83018401918481019150878311156146e657600080fd5b928401925b8284101561470d5783356146fe81614399565b825292840192908401906146eb565b979650505050505050565b6000604082840312156122c157600080fd5b6000806060838503121561473d57600080fd5b823591506144018460208501614718565b60006001600160401b038211156147675761476761460f565b50601f01601f191660200190565b60006020828403121561478757600080fd5b81356001600160401b0381111561479d57600080fd5b8201601f810184136147ae57600080fd5b80356147b98161474e565b6040516147c68282614625565b8281528660208486010111156147db57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561485157603f1988860301845261483f8583516144af565b94509285019290850190600101614823565b5092979650505050505050565b602081526000611b3c60208301846144af565b600481106145fd576145fd6145d7565b6020808252825182820181905260009190848201906040850190845b818110156148c0576148b0838551614871565b928401929184019160010161489d565b50909695505050505050565b60008083601f8401126148de57600080fd5b5081356001600160401b038111156148f557600080fd5b60208301915083602082850101111561444e57600080fd5b6000806000806060858703121561492357600080fd5b843593506020850135925060408501356001600160401b0381111561494757600080fd5b614953878288016148cc565b95989497509550505050565b60208101610b9f8284614871565b61ffff81168114611b5457600080fd5b6000806040838503121561499057600080fd5b8235915060208301356149a28161496d565b809150509250929050565b600080600080600080608087890312156149c657600080fd5b86356001600160401b03808211156149dd57600080fd5b6149e98a838b0161440a565b90985096506020890135915080821115614a0257600080fd5b50614a0f89828a016148cc565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a3d57600080fd5b50508035926020909101359150565b60008060008060808587031215614a6257600080fd5b84356001600160401b03811115614a7857600080fd5b614a84878288016148cc565b9095509350614a9890508660208701614718565b9150614aa6606086016143cb565b905092959194509250565b60ff81106145fd576145fd6145d7565b60208152614ad3602082018351614ab1565b6000602083015160408084015261213160608401826144af565b602081526000825160406020840152614b096060840182614542565b90506020840151601f19848303016040850152612d5682826144db565b803563ffffffff8116811461374257600080fd5b600080600080600060808688031215614b5257600080fd5b85359450614b6260208701614b26565b93506040860135925060608601356001600160401b03811115614b8457600080fd5b614b90888289016148cc565b969995985093965092949392505050565b600080600060808486031215614bb657600080fd5b83359250614bc78560208601614718565b9150614bd5606085016143cb565b90509250925092565b60008351614bf08184602088016142f6565b6101d160f51b9083019081528351614c0f8160028401602088016142f6565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c5a57614c5a614c1b565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c31565b600060ff831680614c9557614c95614c1b565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b9f57610b9f614c31565b80820180821115610b9f57610b9f614c31565b60008235607e19833603018112614cfa57600080fd5b9190910192915050565b600082601f830112614d1557600080fd5b8151614d208161474e565b604051614d2d8282614625565b828152856020848701011115614d4257600080fd5b612d568360208301602088016142f6565b600060208284031215614d6557600080fd5b81516001600160401b03811115614d7b57600080fd5b61213184828501614d04565b82815260406020820152600061213160408301846144af565b600060208284031215614db257600080fd5b611b3c82614b26565b6000808335601e19843603018112614dd257600080fd5b8301803591506001600160401b03821115614dec57600080fd5b60200191503681900382131561444e57600080fd5b60008251614e138184602087016142f6565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e4e57607f821691505b6020821081036122c157634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148c05783516001600160a01b031683529284019291840191600101614e8a565b60ff81168114611b5457600080fd5b6001600160401b0381168114611b5457600080fd5b83815260208101839052608081018235614eec81614eaf565b60ff1660408301526020830135614f0281614ebe565b6001600160401b038116606084015250949350505050565b60008060408385031215614f2d57600080fd5b8251614f3881614399565b60208401519092506001600160401b03811115614f5457600080fd5b614f6085828601614d04565b9150509250929050565b60006020808385031215614f7d57600080fd5b82516001600160401b03811115614f9357600080fd5b8301601f81018513614fa457600080fd5b8051614faf81614651565b604051614fbc8282614625565b82815260059290921b8301840191848101915087831115614fdc57600080fd5b928401925b8284101561470d578351614ff481614399565b82529284019290840190614fe1565b60006020828403121561501557600080fd5b81516001600160e01b031981168114611b3c57600080fd5b60006020828403121561503f57600080fd5b8151611b3c81614399565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561507a57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208083850312156150a757600080fd5b82516001600160401b03808211156150be57600080fd5b818501915085601f8301126150d257600080fd5b81516150dd81614651565b6040516150ea8282614625565b82815260059290921b840185019185810191508883111561510a57600080fd5b8585015b83811015615142578051858111156151265760008081fd5b6151348b89838a0101614d04565b84525091860191860161510e565b5098975050505050505050565b61ffff828116828216039080821115610c8f57610c8f614c31565b600061ffff8084168061517f5761517f614c1b565b92169190910492915050565b61ffff818116838216019080821115610c8f57610c8f614c31565b6000602082840312156151b857600080fd5b8151611b3c8161496d565b6000602082840312156151d557600080fd5b81518015158114611b3c57600080fd5b601f821115612571576000816000526020600020601f850160051c8101602086101561520e5750805b601f850160051c820191505b8181101561522d5782815560010161521a565b505050505050565b6001600160401b0383111561524c5761524c61460f565b6152608361525a8354614e3a565b836151e5565b6000601f841160018114615294576000851561527c5750838201355b600019600387901b1c1916600186901b1783556152ee565b600083815260209020601f19861690835b828110156152c557868501358255602094850194600190920191016152a5565b50868210156152e25760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6001600160481b03818116838216019080821115610c8f57610c8f614c31565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261536560c08201856144af565b9998505050505050505050565b60006020828403121561538457600080fd5b8135611b3c81614ebe565b6000602082840312156153a157600080fd5b8135611b3c81614eaf565b6000600182016153be576153be614c31565b5060010190565b81356153d081614eaf565b60ff8116905081548160ff19821617835560208401356153ef81614ebe565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461543857615438614c31565b505092915050565b61544a81846145ed565b60006020604060208401526000845461546281614e3a565b806040870152606060018084166000811461548457600181146154a0576154d0565b60ff19851660608a0152606084151560051b8a010195506154d0565b89600052602060002060005b858110156154c75781548b82018601529083019088016154ac565b8a016060019650505b50939998505050505050505050565b6000602082840312156154f157600080fd5b81516001600160401b038082111561550857600080fd5b908301906040828603121561551c57600080fd5b6040516040810181811083821117156155375761553761460f565b604052825160ff811061554957600080fd5b815260208301518281111561555d57600080fd5b61556987828601614d04565b60208301525095945050505050565b600060033d11156155915760046000803e5060005160e01c5b90565b600060443d10156155a25790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156155d157505050505090565b82850191508151818111156155e95750505050505090565b843d87010160208285010111156156035750505050505090565b61561260208286010187614625565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516156498160118501602087016142f6565b9190910160110192915050565b6000815160c084528051604060c08601526156756101008601826144af565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526157026080820184614ab1565b60c060a0820152600061571860c0830184615656565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a06080820152600061470d60a0830184615656565b81810381811115610b9f57610b9f614c31565b81516001600160401b038111156157845761578461460f565b615798816157928454614e3a565b846151e5565b602080601f8311600181146157cd57600084156157b55750858301515b600019600386901b1c1916600185901b17855561522d565b600085815260208120601f198616915b828110156157fc578886015182559484019460019091019084016157dd565b508582101561581a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610c8f57610c8f614c31565b60008261585957615859614c1b565b500690565b60ff8281168282160390811115610b9f57610b9f614c3156fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220bde0a4ecafec970375604e2da63aee7a1467ba209f8dfa4fb4b3aa6172c23ba364736f6c63430008190033",
  "immutableReferences": {
    "3715": [
      {
        "length": 32,
        "start": 7006
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2382
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1326
      }
    ],
    "4890": [
      {
        "length": 32,
        "start": 2160
      }
    ],
    "4894": [
      {
        "length": 32,
        "start": 1733
      },
      {
        "length": 32,
        "start": 6419
      },
      {
        "length": 32,
        "start": 6859
      },
      {
        "length": 32,
        "start": 8326
      }
    ],
    "4897": [
      {
        "length": 32,
        "start": 2307
      },
      {
        "length": 32,
        "start": 5997
      },
      {
        "length": 32,
        "start": 6069
      },
      {
        "length": 32,
        "start": 6272
      },
      {
        "length": 32,
        "start": 6461
      }
    ],
    "6838": [
      {
        "length": 32,
        "start": 7784
      }
    ],
    "6840": [
      {
        "length": 32,
        "start": 3097
      },
      {
        "length": 32,
        "start": 3169
      }
    ],
    "6842": [
      {
        "length": 32,
        "start": 3033
      }
    ],
    "6844": [
      {
        "length": 32,
        "start": 2989
      },
      {
        "length": 32,
        "start": 7742
      }
    ],
    "24100": [
      {
        "length": 32,
        "start": 2464
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1252
      },
      {
        "length": 32,
        "start": 2105
      },
      {
        "length": 32,
        "start": 5794
      },
      {
        "length": 32,
        "start": 5884
      },
      {
        "length": 32,
        "start": 6659
      },
      {
        "length": 32,
        "start": 6693
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1375
      },
      {
        "length": 32,
        "start": 7446
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1341:84",
        "nodeType": "YulBlock",
        "src": "0:1341:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "81:86:84",
              "nodeType": "YulBlock",
              "src": "81:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "145:16:84",
                    "nodeType": "YulBlock",
                    "src": "145:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "154:1:84",
                              "nodeType": "YulLiteral",
                              "src": "154:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "157:1:84",
                              "nodeType": "YulLiteral",
                              "src": "157:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "147:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "147:6:84"
                          },
                          "nativeSrc": "147:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "147:12:84"
                        },
                        "nativeSrc": "147:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "147:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "104:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "104:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "115:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "115:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "130:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "130:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "135:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "135:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "126:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "126:3:84"
                                    },
                                    "nativeSrc": "126:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "126:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "139:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "139:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "122:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "122:3:84"
                                },
                                "nativeSrc": "122:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "122:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "111:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "111:3:84"
                            },
                            "nativeSrc": "111:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "111:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "101:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "101:2:84"
                        },
                        "nativeSrc": "101:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "101:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "94:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "94:6:84"
                    },
                    "nativeSrc": "94:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "94:50:84"
                  },
                  "nativeSrc": "91:70:84",
                  "nodeType": "YulIf",
                  "src": "91:70:84"
                }
              ]
            },
            "name": "validator_revert_contract_WitnetRequestFactory",
            "nativeSrc": "14:153:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "70:5:84",
                "nodeType": "YulTypedName",
                "src": "70:5:84",
                "type": ""
              }
            ],
            "src": "14:153:84"
          },
          {
            "body": {
              "nativeSrc": "427:704:84",
              "nodeType": "YulBlock",
              "src": "427:704:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "474:16:84",
                    "nodeType": "YulBlock",
                    "src": "474:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "483:1:84",
                              "nodeType": "YulLiteral",
                              "src": "483:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "486:1:84",
                              "nodeType": "YulLiteral",
                              "src": "486:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "476:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "476:6:84"
                          },
                          "nativeSrc": "476:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "476:12:84"
                        },
                        "nativeSrc": "476:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "476:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "448:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "448:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "457:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "457:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "444:3:84"
                        },
                        "nativeSrc": "444:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "444:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "469:3:84",
                        "nodeType": "YulLiteral",
                        "src": "469:3:84",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "440:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "440:3:84"
                    },
                    "nativeSrc": "440:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "440:33:84"
                  },
                  "nativeSrc": "437:53:84",
                  "nodeType": "YulIf",
                  "src": "437:53:84"
                },
                {
                  "nativeSrc": "499:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "499:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "518:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "518:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "512:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "512:5:84"
                    },
                    "nativeSrc": "512:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "512:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "503:5:84",
                      "nodeType": "YulTypedName",
                      "src": "503:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "584:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "584:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "537:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "537:46:84"
                    },
                    "nativeSrc": "537:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "537:53:84"
                  },
                  "nativeSrc": "537:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "537:53:84"
                },
                {
                  "nativeSrc": "599:15:84",
                  "nodeType": "YulAssignment",
                  "src": "599:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "609:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "609:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "599:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "599:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "623:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "623:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "648:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "648:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "659:2:84",
                            "nodeType": "YulLiteral",
                            "src": "659:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "644:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "644:3:84"
                        },
                        "nativeSrc": "644:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "644:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "638:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "638:5:84"
                    },
                    "nativeSrc": "638:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "638:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "627:7:84",
                      "nodeType": "YulTypedName",
                      "src": "627:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "719:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "719:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "672:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "672:46:84"
                    },
                    "nativeSrc": "672:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "672:55:84"
                  },
                  "nativeSrc": "672:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "672:55:84"
                },
                {
                  "nativeSrc": "736:17:84",
                  "nodeType": "YulAssignment",
                  "src": "736:17:84",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "746:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "746:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "736:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "736:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "762:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "762:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "787:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "787:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "798:2:84",
                            "nodeType": "YulLiteral",
                            "src": "798:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "783:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "783:3:84"
                        },
                        "nativeSrc": "783:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "783:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "777:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "777:5:84"
                    },
                    "nativeSrc": "777:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "777:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "766:7:84",
                      "nodeType": "YulTypedName",
                      "src": "766:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "859:16:84",
                    "nodeType": "YulBlock",
                    "src": "859:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "868:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "871:1:84",
                              "nodeType": "YulLiteral",
                              "src": "871:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "861:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "861:6:84"
                          },
                          "nativeSrc": "861:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "861:12:84"
                        },
                        "nativeSrc": "861:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "861:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "824:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "824:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "847:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "847:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "840:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "840:6:84"
                                },
                                "nativeSrc": "840:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "840:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "833:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "833:6:84"
                            },
                            "nativeSrc": "833:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "833:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "821:2:84"
                        },
                        "nativeSrc": "821:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "821:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "814:6:84"
                    },
                    "nativeSrc": "814:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "814:44:84"
                  },
                  "nativeSrc": "811:64:84",
                  "nodeType": "YulIf",
                  "src": "811:64:84"
                },
                {
                  "nativeSrc": "884:17:84",
                  "nodeType": "YulAssignment",
                  "src": "884:17:84",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "894:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "894:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "884:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "884:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "910:35:84",
                  "nodeType": "YulAssignment",
                  "src": "910:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "941:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "926:3:84"
                        },
                        "nativeSrc": "926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "926:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "920:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "920:5:84"
                    },
                    "nativeSrc": "920:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "920:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "910:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "954:36:84",
                  "nodeType": "YulAssignment",
                  "src": "954:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "974:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "974:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "985:3:84",
                            "nodeType": "YulLiteral",
                            "src": "985:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "970:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "970:3:84"
                        },
                        "nativeSrc": "970:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "970:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "964:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "964:5:84"
                    },
                    "nativeSrc": "964:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "964:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "954:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "954:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "999:36:84",
                  "nodeType": "YulAssignment",
                  "src": "999:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1019:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1030:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1030:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1015:3:84"
                        },
                        "nativeSrc": "1015:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1015:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1009:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1009:5:84"
                    },
                    "nativeSrc": "1009:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1009:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "999:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "999:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1044:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1044:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1064:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1064:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1075:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1075:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1060:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1060:3:84"
                        },
                        "nativeSrc": "1060:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1060:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1054:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1054:5:84"
                    },
                    "nativeSrc": "1054:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1054:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value6",
                      "nativeSrc": "1044:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1044:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1089:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1089:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1109:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1109:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1105:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1105:3:84"
                        },
                        "nativeSrc": "1105:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1105:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1099:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1099:5:84"
                    },
                    "nativeSrc": "1099:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1099:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value7",
                      "nativeSrc": "1089:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1089:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory",
            "nativeSrc": "172:959:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "337:9:84",
                "nodeType": "YulTypedName",
                "src": "337:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "348:7:84",
                "nodeType": "YulTypedName",
                "src": "348:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "360:6:84",
                "nodeType": "YulTypedName",
                "src": "360:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "368:6:84",
                "nodeType": "YulTypedName",
                "src": "368:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "376:6:84",
                "nodeType": "YulTypedName",
                "src": "376:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "384:6:84",
                "nodeType": "YulTypedName",
                "src": "384:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "392:6:84",
                "nodeType": "YulTypedName",
                "src": "392:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "400:6:84",
                "nodeType": "YulTypedName",
                "src": "400:6:84",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "408:6:84",
                "nodeType": "YulTypedName",
                "src": "408:6:84",
                "type": ""
              },
              {
                "name": "value7",
                "nativeSrc": "416:6:84",
                "nodeType": "YulTypedName",
                "src": "416:6:84",
                "type": ""
              }
            ],
            "src": "172:959:84"
          },
          {
            "body": {
              "nativeSrc": "1237:102:84",
              "nodeType": "YulBlock",
              "src": "1237:102:84",
              "statements": [
                {
                  "nativeSrc": "1247:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1247:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1259:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1259:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1270:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1270:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1255:3:84"
                    },
                    "nativeSrc": "1255:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1255:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1247:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1247:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1289:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1289:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "1304:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1304:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1320:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1320:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1325:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1325:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1316:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1316:3:84"
                                },
                                "nativeSrc": "1316:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1316:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1329:1:84",
                                "nodeType": "YulLiteral",
                                "src": "1329:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "1312:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1312:3:84"
                            },
                            "nativeSrc": "1312:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1312:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1300:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1300:3:84"
                        },
                        "nativeSrc": "1300:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1300:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1282:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1282:6:84"
                    },
                    "nativeSrc": "1282:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1282:51:84"
                  },
                  "nativeSrc": "1282:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1282:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "1136:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1206:9:84",
                "nodeType": "YulTypedName",
                "src": "1206:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1217:6:84",
                "nodeType": "YulTypedName",
                "src": "1217:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1228:4:84",
                "nodeType": "YulTypedName",
                "src": "1228:4:84",
                "type": ""
              }
            ],
            "src": "1136:203:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function validator_revert_contract_WitnetRequestFactory(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_contract_WitnetRequestFactory(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_contract_WitnetRequestFactory(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        if iszero(eq(value_2, iszero(iszero(value_2)))) { revert(0, 0) }\n        value2 := value_2\n        value3 := mload(add(headStart, 96))\n        value4 := mload(add(headStart, 128))\n        value5 := mload(add(headStart, 160))\n        value6 := mload(add(headStart, 192))\n        value7 := mload(add(headStart, 224))\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}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:44635:84",
        "nodeType": "YulBlock",
        "src": "0:44635:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "80:184:84",
              "nodeType": "YulBlock",
              "src": "80:184:84",
              "statements": [
                {
                  "nativeSrc": "90:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "90:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "99:1:84",
                    "nodeType": "YulLiteral",
                    "src": "99:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "94:1:84",
                      "nodeType": "YulTypedName",
                      "src": "94:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "159:63:84",
                    "nodeType": "YulBlock",
                    "src": "159:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "184:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "184:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "189:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "189:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "180:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "180:3:84"
                              },
                              "nativeSrc": "180:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "180:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "203:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "203:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "208:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "208:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "199:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "199:3:84"
                                  },
                                  "nativeSrc": "199:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "199:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "193:5:84"
                              },
                              "nativeSrc": "193:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "193:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "173:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "173:6:84"
                          },
                          "nativeSrc": "173:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "173:39:84"
                        },
                        "nativeSrc": "173:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "173:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "120:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "120:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "117:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "117:2:84"
                    },
                    "nativeSrc": "117:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "117:13:84"
                  },
                  "nativeSrc": "109:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "131:19:84",
                    "nodeType": "YulBlock",
                    "src": "131:19:84",
                    "statements": [
                      {
                        "nativeSrc": "133:15:84",
                        "nodeType": "YulAssignment",
                        "src": "133:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "142:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "142:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "145:2:84",
                              "nodeType": "YulLiteral",
                              "src": "145:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "138:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "138:3:84"
                          },
                          "nativeSrc": "138:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "138:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "133:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "133:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "113:3:84",
                    "nodeType": "YulBlock",
                    "src": "113:3:84",
                    "statements": []
                  },
                  "src": "109:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "242:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "242:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "247:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "247:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "238:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "238:3:84"
                        },
                        "nativeSrc": "238:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "238:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "256:1:84",
                        "nodeType": "YulLiteral",
                        "src": "256:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "231:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "231:6:84"
                    },
                    "nativeSrc": "231:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "231:27:84"
                  },
                  "nativeSrc": "231:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "231:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "14:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "58:3:84",
                "nodeType": "YulTypedName",
                "src": "58:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "63:3:84",
                "nodeType": "YulTypedName",
                "src": "63:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "68:6:84",
                "nodeType": "YulTypedName",
                "src": "68:6:84",
                "type": ""
              }
            ],
            "src": "14:250:84"
          },
          {
            "body": {
              "nativeSrc": "653:688:84",
              "nodeType": "YulBlock",
              "src": "653:688:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "670:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "670:3:84"
                      },
                      {
                        "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "675:21:84",
                        "nodeType": "YulLiteral",
                        "src": "675:21:84",
                        "type": "",
                        "value": "not implemented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "663:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "663:6:84"
                    },
                    "nativeSrc": "663:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "663:34:84"
                  },
                  "nativeSrc": "663:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "663:34:84"
                },
                {
                  "nativeSrc": "706:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "706:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "726:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "726:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "720:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "720:5:84"
                    },
                    "nativeSrc": "720:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "720:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "710:6:84",
                      "nodeType": "YulTypedName",
                      "src": "710:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "781:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "781:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "789:4:84",
                            "nodeType": "YulLiteral",
                            "src": "789:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "777:3:84"
                        },
                        "nativeSrc": "777:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "777:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "800:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "800:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "805:2:84",
                            "nodeType": "YulLiteral",
                            "src": "805:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "796:3:84"
                        },
                        "nativeSrc": "796:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "796:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "810:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "810:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "742:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "742:34:84"
                    },
                    "nativeSrc": "742:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "742:75:84"
                  },
                  "nativeSrc": "742:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "742:75:84"
                },
                {
                  "nativeSrc": "826:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "826:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "840:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "840:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "845:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "845:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "836:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "836:3:84"
                    },
                    "nativeSrc": "836:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "836:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "861:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "861:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "883:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "883:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "877:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "877:5:84"
                    },
                    "nativeSrc": "877:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "877:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "865:8:84",
                      "nodeType": "YulTypedName",
                      "src": "865:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "938:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "938:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "946:4:84",
                            "nodeType": "YulLiteral",
                            "src": "946:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "934:3:84"
                        },
                        "nativeSrc": "934:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "934:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "957:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "957:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "961:2:84",
                            "nodeType": "YulLiteral",
                            "src": "961:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "953:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "953:3:84"
                        },
                        "nativeSrc": "953:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "953:11:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "966:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "966:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "899:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "899:34:84"
                    },
                    "nativeSrc": "899:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "899:76:84"
                  },
                  "nativeSrc": "899:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "899:76:84"
                },
                {
                  "nativeSrc": "984:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "984:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "998:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "998:2:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1002:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1002:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "994:3:84"
                    },
                    "nativeSrc": "994:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "994:17:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "988:2:84",
                      "nodeType": "YulTypedName",
                      "src": "988:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1020:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1020:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "1042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1042:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1036:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1036:5:84"
                    },
                    "nativeSrc": "1036:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1036:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "1024:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1024:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "1097:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1097:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1105:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1105:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1093:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1093:3:84"
                        },
                        "nativeSrc": "1093:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1093:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "1116:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1116:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1112:3:84"
                        },
                        "nativeSrc": "1112:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1112:11:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1125:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1125:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1058:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1058:34:84"
                    },
                    "nativeSrc": "1058:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1058:76:84"
                  },
                  "nativeSrc": "1058:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1058:76:84"
                },
                {
                  "nativeSrc": "1143:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1143:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "1157:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1157:2:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1161:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1161:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1153:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1153:3:84"
                    },
                    "nativeSrc": "1153:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1153:17:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "1147:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1147:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1179:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1179:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "1201:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1201:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1195:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1195:5:84"
                    },
                    "nativeSrc": "1195:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1195:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "1183:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1183:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "1256:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1256:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1264:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1264:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1252:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1252:3:84"
                        },
                        "nativeSrc": "1252:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1252:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1275:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1275:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1279:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1279:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1271:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1271:3:84"
                        },
                        "nativeSrc": "1271:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1271:11:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "1284:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1284:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1217:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1217:34:84"
                    },
                    "nativeSrc": "1217:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1217:76:84"
                  },
                  "nativeSrc": "1217:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1217:76:84"
                },
                {
                  "nativeSrc": "1302:33:84",
                  "nodeType": "YulAssignment",
                  "src": "1302:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1317:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1317:2:84"
                          },
                          {
                            "name": "length_3",
                            "nativeSrc": "1321:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "1321:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1313:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1313:3:84"
                        },
                        "nativeSrc": "1313:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1313:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1332:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1332:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1309:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1309:3:84"
                    },
                    "nativeSrc": "1309:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1309:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1302:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1302:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_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": "269:1072:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "605:3:84",
                "nodeType": "YulTypedName",
                "src": "605:3:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "610:6:84",
                "nodeType": "YulTypedName",
                "src": "610:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "618:6:84",
                "nodeType": "YulTypedName",
                "src": "618:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "626:6:84",
                "nodeType": "YulTypedName",
                "src": "626:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "634:6:84",
                "nodeType": "YulTypedName",
                "src": "634:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "645:3:84",
                "nodeType": "YulTypedName",
                "src": "645:3:84",
                "type": ""
              }
            ],
            "src": "269:1072:84"
          },
          {
            "body": {
              "nativeSrc": "1391:86:84",
              "nodeType": "YulBlock",
              "src": "1391:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1455:16:84",
                    "nodeType": "YulBlock",
                    "src": "1455:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1464:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1464:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1467:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1467:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1457:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1457:6:84"
                          },
                          "nativeSrc": "1457:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1457:12:84"
                        },
                        "nativeSrc": "1457:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1457:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1414:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1414:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1425:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1425:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1440:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1440:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1445:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1445:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "1436:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1436:3:84"
                                    },
                                    "nativeSrc": "1436:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1436:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1449:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1449:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "1432:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1432:3:84"
                                },
                                "nativeSrc": "1432:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1432:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1421:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1421:3:84"
                            },
                            "nativeSrc": "1421:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1421:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1411:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1411:2:84"
                        },
                        "nativeSrc": "1411:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1411:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1404:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1404:6:84"
                    },
                    "nativeSrc": "1404:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1404:50:84"
                  },
                  "nativeSrc": "1401:70:84",
                  "nodeType": "YulIf",
                  "src": "1401:70:84"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "1346:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1380:5:84",
                "nodeType": "YulTypedName",
                "src": "1380:5:84",
                "type": ""
              }
            ],
            "src": "1346:131:84"
          },
          {
            "body": {
              "nativeSrc": "1552:177:84",
              "nodeType": "YulBlock",
              "src": "1552:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1598:16:84",
                    "nodeType": "YulBlock",
                    "src": "1598:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1607:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1607:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1610:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1610:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1600:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1600:6:84"
                          },
                          "nativeSrc": "1600:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1600:12:84"
                        },
                        "nativeSrc": "1600:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1600:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1573:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1573:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1582:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1582:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1569:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1569:3:84"
                        },
                        "nativeSrc": "1569:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1569:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1594:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1594:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1565:3:84"
                    },
                    "nativeSrc": "1565:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1565:32:84"
                  },
                  "nativeSrc": "1562:52:84",
                  "nodeType": "YulIf",
                  "src": "1562:52:84"
                },
                {
                  "nativeSrc": "1623:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1623:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1649:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1649:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1636:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1636:12:84"
                    },
                    "nativeSrc": "1636:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1636:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1627:5:84",
                      "nodeType": "YulTypedName",
                      "src": "1627:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1693:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1693:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1668:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "1668:24:84"
                    },
                    "nativeSrc": "1668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1668:31:84"
                  },
                  "nativeSrc": "1668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1668:31:84"
                },
                {
                  "nativeSrc": "1708:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1708:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1718:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "1718:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1708:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "1482:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1518:9:84",
                "nodeType": "YulTypedName",
                "src": "1518:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1529:7:84",
                "nodeType": "YulTypedName",
                "src": "1529:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1541:6:84",
                "nodeType": "YulTypedName",
                "src": "1541:6:84",
                "type": ""
              }
            ],
            "src": "1482:247:84"
          },
          {
            "body": {
              "nativeSrc": "1829:92:84",
              "nodeType": "YulBlock",
              "src": "1829:92:84",
              "statements": [
                {
                  "nativeSrc": "1839:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1839:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1851:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1851:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1862:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1862:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1847:3:84"
                    },
                    "nativeSrc": "1847:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1847:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1839:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1839:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1881:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1881:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "1906:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1906:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "1899:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "1899:6:84"
                            },
                            "nativeSrc": "1899:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1899:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "1892:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "1892:6:84"
                        },
                        "nativeSrc": "1892:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1892:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1874:6:84"
                    },
                    "nativeSrc": "1874:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1874:41:84"
                  },
                  "nativeSrc": "1874:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1874:41:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "1734:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1798:9:84",
                "nodeType": "YulTypedName",
                "src": "1798:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1809:6:84",
                "nodeType": "YulTypedName",
                "src": "1809:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1820:4:84",
                "nodeType": "YulTypedName",
                "src": "1820:4:84",
                "type": ""
              }
            ],
            "src": "1734:187:84"
          },
          {
            "body": {
              "nativeSrc": "1974:113:84",
              "nodeType": "YulBlock",
              "src": "1974:113:84",
              "statements": [
                {
                  "nativeSrc": "1984:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1984:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2006:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1993:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1993:12:84"
                    },
                    "nativeSrc": "1993:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1993:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1984:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1984:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2065:16:84",
                    "nodeType": "YulBlock",
                    "src": "2065:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2074:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2077:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2077:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2067:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2067:6:84"
                          },
                          "nativeSrc": "2067:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2067:12:84"
                        },
                        "nativeSrc": "2067:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2067:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2035:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2035:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2046:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2046:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2053:8:84",
                                "nodeType": "YulLiteral",
                                "src": "2053:8:84",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2042:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2042:3:84"
                            },
                            "nativeSrc": "2042:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2042:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2032:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2032:2:84"
                        },
                        "nativeSrc": "2032:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2032:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2025:6:84"
                    },
                    "nativeSrc": "2025:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2025:39:84"
                  },
                  "nativeSrc": "2022:59:84",
                  "nodeType": "YulIf",
                  "src": "2022:59:84"
                }
              ]
            },
            "name": "abi_decode_uint24",
            "nativeSrc": "1926:161:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1953:6:84",
                "nodeType": "YulTypedName",
                "src": "1953:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1964:5:84",
                "nodeType": "YulTypedName",
                "src": "1964:5:84",
                "type": ""
              }
            ],
            "src": "1926:161:84"
          },
          {
            "body": {
              "nativeSrc": "2178:166:84",
              "nodeType": "YulBlock",
              "src": "2178:166:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2224:16:84",
                    "nodeType": "YulBlock",
                    "src": "2224:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2233:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2233:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2236:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2236:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2226:6:84"
                          },
                          "nativeSrc": "2226:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2226:12:84"
                        },
                        "nativeSrc": "2226:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2226:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2199:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2199:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2208:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2208:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2195:3:84"
                        },
                        "nativeSrc": "2195:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2195:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2191:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2191:3:84"
                    },
                    "nativeSrc": "2191:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2191:32:84"
                  },
                  "nativeSrc": "2188:52:84",
                  "nodeType": "YulIf",
                  "src": "2188:52:84"
                },
                {
                  "nativeSrc": "2249:33:84",
                  "nodeType": "YulAssignment",
                  "src": "2249:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2272:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2272:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2259:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2259:12:84"
                    },
                    "nativeSrc": "2259:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2259:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2249:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "2291:47:84",
                  "nodeType": "YulAssignment",
                  "src": "2291:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2323:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2323:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2334:2:84",
                            "nodeType": "YulLiteral",
                            "src": "2334:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2319:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2319:3:84"
                        },
                        "nativeSrc": "2319:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2319:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "2301:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "2301:17:84"
                    },
                    "nativeSrc": "2301:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2301:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "2291:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2291:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint24",
            "nativeSrc": "2092:252:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2136:9:84",
                "nodeType": "YulTypedName",
                "src": "2136:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2147:7:84",
                "nodeType": "YulTypedName",
                "src": "2147:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2159:6:84",
                "nodeType": "YulTypedName",
                "src": "2159:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2167:6:84",
                "nodeType": "YulTypedName",
                "src": "2167:6:84",
                "type": ""
              }
            ],
            "src": "2092:252:84"
          },
          {
            "body": {
              "nativeSrc": "2450:76:84",
              "nodeType": "YulBlock",
              "src": "2450:76:84",
              "statements": [
                {
                  "nativeSrc": "2460:26:84",
                  "nodeType": "YulAssignment",
                  "src": "2460:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2472:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2472:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2483:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2483:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2468:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2468:3:84"
                    },
                    "nativeSrc": "2468:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2468:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2460:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2460:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2502:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2502:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "2513:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2513:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2495:6:84"
                    },
                    "nativeSrc": "2495:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2495:25:84"
                  },
                  "nativeSrc": "2495:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2495:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "2349:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2419:9:84",
                "nodeType": "YulTypedName",
                "src": "2419:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2430:6:84",
                "nodeType": "YulTypedName",
                "src": "2430:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2441:4:84",
                "nodeType": "YulTypedName",
                "src": "2441:4:84",
                "type": ""
              }
            ],
            "src": "2349:177:84"
          },
          {
            "body": {
              "nativeSrc": "2635:283:84",
              "nodeType": "YulBlock",
              "src": "2635:283:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2684:16:84",
                    "nodeType": "YulBlock",
                    "src": "2684:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2693:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2693:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2696:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2696:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2686:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2686:6:84"
                          },
                          "nativeSrc": "2686:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2686:12:84"
                        },
                        "nativeSrc": "2686:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2686:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2663:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2663:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2671:4:84",
                                "nodeType": "YulLiteral",
                                "src": "2671:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2659:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2659:3:84"
                            },
                            "nativeSrc": "2659:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2659:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "2678:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2678:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "2655:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2655:3:84"
                        },
                        "nativeSrc": "2655:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2655:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2648:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2648:6:84"
                    },
                    "nativeSrc": "2648:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2648:35:84"
                  },
                  "nativeSrc": "2645:55:84",
                  "nodeType": "YulIf",
                  "src": "2645:55:84"
                },
                {
                  "nativeSrc": "2709:30:84",
                  "nodeType": "YulAssignment",
                  "src": "2709:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2732:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2732:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2719:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2719:12:84"
                    },
                    "nativeSrc": "2719:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2719:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "2709:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2709:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2782:16:84",
                    "nodeType": "YulBlock",
                    "src": "2782:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2791:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2791:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2794:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2794:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2784:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2784:6:84"
                          },
                          "nativeSrc": "2784:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2784:12:84"
                        },
                        "nativeSrc": "2784:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2784:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "2754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2754:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2762:18:84",
                        "nodeType": "YulLiteral",
                        "src": "2762:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2751:2:84"
                    },
                    "nativeSrc": "2751:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2751:30:84"
                  },
                  "nativeSrc": "2748:50:84",
                  "nodeType": "YulIf",
                  "src": "2748:50:84"
                },
                {
                  "nativeSrc": "2807:29:84",
                  "nodeType": "YulAssignment",
                  "src": "2807:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2823:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2823:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2831:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2831:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2819:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2819:3:84"
                    },
                    "nativeSrc": "2819:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2819:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "2807:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "2807:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2896:16:84",
                    "nodeType": "YulBlock",
                    "src": "2896:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2905:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2905:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2908:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2898:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2898:6:84"
                          },
                          "nativeSrc": "2898:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2898:12:84"
                        },
                        "nativeSrc": "2898:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2898:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2859:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2859:6:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2871:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2871:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "2874:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2874:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "2867:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2867:3:84"
                                },
                                "nativeSrc": "2867:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2867:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2855:3:84"
                            },
                            "nativeSrc": "2855:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2855:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2884:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2884:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2851:3:84"
                        },
                        "nativeSrc": "2851:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2851:38:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2891:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2891:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2848:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2848:2:84"
                    },
                    "nativeSrc": "2848:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2848:47:84"
                  },
                  "nativeSrc": "2845:67:84",
                  "nodeType": "YulIf",
                  "src": "2845:67:84"
                }
              ]
            },
            "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
            "nativeSrc": "2531:387:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "2598:6:84",
                "nodeType": "YulTypedName",
                "src": "2598:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "2606:3:84",
                "nodeType": "YulTypedName",
                "src": "2606:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "2614:8:84",
                "nodeType": "YulTypedName",
                "src": "2614:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2624:6:84",
                "nodeType": "YulTypedName",
                "src": "2624:6:84",
                "type": ""
              }
            ],
            "src": "2531:387:84"
          },
          {
            "body": {
              "nativeSrc": "3060:352:84",
              "nodeType": "YulBlock",
              "src": "3060:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3106:16:84",
                    "nodeType": "YulBlock",
                    "src": "3106:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3115:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3115:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3118:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3108:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3108:6:84"
                          },
                          "nativeSrc": "3108:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3108:12:84"
                        },
                        "nativeSrc": "3108:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3108:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3081:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3081:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3090:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3090:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3077:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3077:3:84"
                        },
                        "nativeSrc": "3077:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3077:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3102:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3102:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3073:3:84"
                    },
                    "nativeSrc": "3073:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3073:32:84"
                  },
                  "nativeSrc": "3070:52:84",
                  "nodeType": "YulIf",
                  "src": "3070:52:84"
                },
                {
                  "nativeSrc": "3131:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3131:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3158:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3158:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3145:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3145:12:84"
                    },
                    "nativeSrc": "3145:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3145:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "3135:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3135:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3211:16:84",
                    "nodeType": "YulBlock",
                    "src": "3211:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3220:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3223:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3223:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3213:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3213:6:84"
                          },
                          "nativeSrc": "3213:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3213:12:84"
                        },
                        "nativeSrc": "3213:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3213:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3183:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3183:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3191:18:84",
                        "nodeType": "YulLiteral",
                        "src": "3191:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3180:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3180:2:84"
                    },
                    "nativeSrc": "3180:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3180:30:84"
                  },
                  "nativeSrc": "3177:50:84",
                  "nodeType": "YulIf",
                  "src": "3177:50:84"
                },
                {
                  "nativeSrc": "3236:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3236:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3324:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3324:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "3335:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3335:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3320:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3320:3:84"
                        },
                        "nativeSrc": "3320:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3320:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3344:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3344:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "3262:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "3262:57:84"
                    },
                    "nativeSrc": "3262:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3262:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "3240:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3240:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "3250:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3250:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3361:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3361:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "3371:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3371:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3361:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3388:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3388:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "3398:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3398:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "3388:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3388:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "2923:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3018:9:84",
                "nodeType": "YulTypedName",
                "src": "3018:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3029:7:84",
                "nodeType": "YulTypedName",
                "src": "3029:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3041:6:84",
                "nodeType": "YulTypedName",
                "src": "3041:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3049:6:84",
                "nodeType": "YulTypedName",
                "src": "3049:6:84",
                "type": ""
              }
            ],
            "src": "2923:489:84"
          },
          {
            "body": {
              "nativeSrc": "3487:110:84",
              "nodeType": "YulBlock",
              "src": "3487:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3533:16:84",
                    "nodeType": "YulBlock",
                    "src": "3533:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3542:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3545:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3545:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3535:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3535:6:84"
                          },
                          "nativeSrc": "3535:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3535:12:84"
                        },
                        "nativeSrc": "3535:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3535:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3508:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3508:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3517:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3517:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3504:3:84"
                        },
                        "nativeSrc": "3504:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3504:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3529:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3529:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3500:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3500:3:84"
                    },
                    "nativeSrc": "3500:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3500:32:84"
                  },
                  "nativeSrc": "3497:52:84",
                  "nodeType": "YulIf",
                  "src": "3497:52:84"
                },
                {
                  "nativeSrc": "3558:33:84",
                  "nodeType": "YulAssignment",
                  "src": "3558:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3581:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3581:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3568:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3568:12:84"
                    },
                    "nativeSrc": "3568:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3568:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3558:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "3417:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3453:9:84",
                "nodeType": "YulTypedName",
                "src": "3453:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3464:7:84",
                "nodeType": "YulTypedName",
                "src": "3464:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3476:6:84",
                "nodeType": "YulTypedName",
                "src": "3476:6:84",
                "type": ""
              }
            ],
            "src": "3417:180:84"
          },
          {
            "body": {
              "nativeSrc": "3651:221:84",
              "nodeType": "YulBlock",
              "src": "3651:221:84",
              "statements": [
                {
                  "nativeSrc": "3661:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3661:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3681:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3681:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3675:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3675:5:84"
                    },
                    "nativeSrc": "3675:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3675:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3665:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3665:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3703:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3703:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3708:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3696:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3696:6:84"
                    },
                    "nativeSrc": "3696:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3696:19:84"
                  },
                  "nativeSrc": "3696:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3696:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3763:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3763:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3770:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3770:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3759:3:84"
                        },
                        "nativeSrc": "3759:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3759:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3781:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3781:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3786:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3786:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3777:3:84"
                        },
                        "nativeSrc": "3777:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3777:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3793:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3793:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "3724:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "3724:34:84"
                    },
                    "nativeSrc": "3724:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3724:76:84"
                  },
                  "nativeSrc": "3724:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3724:76:84"
                },
                {
                  "nativeSrc": "3809:57:84",
                  "nodeType": "YulAssignment",
                  "src": "3809:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3824:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3824:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "3837:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3837:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3845:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3845:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3833:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3833:3:84"
                                },
                                "nativeSrc": "3833:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3833:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3854:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3854:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "3850:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3850:3:84"
                                },
                                "nativeSrc": "3850:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3850:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3829:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3829:3:84"
                            },
                            "nativeSrc": "3829:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3829:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3820:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3820:3:84"
                        },
                        "nativeSrc": "3820:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3820:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3861:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3861:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3816:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3816:3:84"
                    },
                    "nativeSrc": "3816:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3816:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3809:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3809:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "3602:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3628:5:84",
                "nodeType": "YulTypedName",
                "src": "3628:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3635:3:84",
                "nodeType": "YulTypedName",
                "src": "3635:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3643:3:84",
                "nodeType": "YulTypedName",
                "src": "3643:3:84",
                "type": ""
              }
            ],
            "src": "3602:270:84"
          },
          {
            "body": {
              "nativeSrc": "3936:428:84",
              "nodeType": "YulBlock",
              "src": "3936:428:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3953:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3953:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3968:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "3968:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3962:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "3962:5:84"
                            },
                            "nativeSrc": "3962:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3962:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3984:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3984:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3989:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3989:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3980:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3980:3:84"
                                },
                                "nativeSrc": "3980:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3980:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3993:1:84",
                                "nodeType": "YulLiteral",
                                "src": "3993:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "3976:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3976:3:84"
                            },
                            "nativeSrc": "3976:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3976:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3958:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3958:3:84"
                        },
                        "nativeSrc": "3958:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3958:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3946:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3946:6:84"
                    },
                    "nativeSrc": "3946:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3946:51:84"
                  },
                  "nativeSrc": "3946:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3946:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4017:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4017:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4022:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4022:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4013:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4013:3:84"
                        },
                        "nativeSrc": "4013:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4013:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4043:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4043:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4050:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4050:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4039:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4039:3:84"
                                },
                                "nativeSrc": "4039:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4039:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4033:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4033:5:84"
                            },
                            "nativeSrc": "4033:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4033:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4058:18:84",
                            "nodeType": "YulLiteral",
                            "src": "4058:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4029:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4029:3:84"
                        },
                        "nativeSrc": "4029:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4029:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4006:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4006:6:84"
                    },
                    "nativeSrc": "4006:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4006:72:84"
                  },
                  "nativeSrc": "4006:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4006:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4098:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4098:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4103:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4103:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4094:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4094:3:84"
                        },
                        "nativeSrc": "4094:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4094:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4124:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4124:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4131:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4131:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4120:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4120:3:84"
                                },
                                "nativeSrc": "4120:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4120:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4114:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4114:5:84"
                            },
                            "nativeSrc": "4114:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4114:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4139:10:84",
                            "nodeType": "YulLiteral",
                            "src": "4139:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4110:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4110:3:84"
                        },
                        "nativeSrc": "4110:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4110:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4087:6:84"
                    },
                    "nativeSrc": "4087:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4087:64:84"
                  },
                  "nativeSrc": "4087:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4087:64:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4171:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4171:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4176:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4176:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4167:3:84"
                        },
                        "nativeSrc": "4167:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4167:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4193:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4200:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4200:4:84",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4189:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4189:3:84"
                            },
                            "nativeSrc": "4189:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4189:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "4183:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4183:5:84"
                        },
                        "nativeSrc": "4183:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4183:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4160:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4160:6:84"
                    },
                    "nativeSrc": "4160:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4160:47:84"
                  },
                  "nativeSrc": "4160:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4160:47:84"
                },
                {
                  "nativeSrc": "4216:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4216:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4246:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4246:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4253:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4253:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4242:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4242:3:84"
                        },
                        "nativeSrc": "4242:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4242:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4236:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4236:5:84"
                    },
                    "nativeSrc": "4236:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4236:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4220:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4220:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4279:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4279:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4284:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4284:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4275:3:84"
                        },
                        "nativeSrc": "4275:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4275:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4291:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4291:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4268:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4268:6:84"
                    },
                    "nativeSrc": "4268:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4268:28:84"
                  },
                  "nativeSrc": "4268:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4268:28:84"
                },
                {
                  "nativeSrc": "4305:53:84",
                  "nodeType": "YulAssignment",
                  "src": "4305:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "4329:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "4329:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4347:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4347:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4352:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4352:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4343:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4343:3:84"
                        },
                        "nativeSrc": "4343:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4343:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "4312:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "4312:16:84"
                    },
                    "nativeSrc": "4312:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4312:46:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4305:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Response",
            "nativeSrc": "3877:487:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3913:5:84",
                "nodeType": "YulTypedName",
                "src": "3913:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3920:3:84",
                "nodeType": "YulTypedName",
                "src": "3920:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3928:3:84",
                "nodeType": "YulTypedName",
                "src": "3928:3:84",
                "type": ""
              }
            ],
            "src": "3877:487:84"
          },
          {
            "body": {
              "nativeSrc": "4524:108:84",
              "nodeType": "YulBlock",
              "src": "4524:108:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4541:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4541:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4552:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4534:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4534:6:84"
                    },
                    "nativeSrc": "4534:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4534:21:84"
                  },
                  "nativeSrc": "4534:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4534:21:84"
                },
                {
                  "nativeSrc": "4564:62:84",
                  "nodeType": "YulAssignment",
                  "src": "4564:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "4599:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4599:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4622:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4607:3:84"
                        },
                        "nativeSrc": "4607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4607:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "4572:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "4572:26:84"
                    },
                    "nativeSrc": "4572:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4572:54:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4564:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4564:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed",
            "nativeSrc": "4369:263:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4493:9:84",
                "nodeType": "YulTypedName",
                "src": "4493:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4504:6:84",
                "nodeType": "YulTypedName",
                "src": "4504:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4515:4:84",
                "nodeType": "YulTypedName",
                "src": "4515:4:84",
                "type": ""
              }
            ],
            "src": "4369:263:84"
          },
          {
            "body": {
              "nativeSrc": "4695:661:84",
              "nodeType": "YulBlock",
              "src": "4695:661:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "4712:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4712:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4727:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4727:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4721:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4721:5:84"
                            },
                            "nativeSrc": "4721:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4721:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4743:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4743:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4748:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4748:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4739:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4739:3:84"
                                },
                                "nativeSrc": "4739:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4739:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4752:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4752:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "4735:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4735:3:84"
                            },
                            "nativeSrc": "4735:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4735:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4717:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4717:3:84"
                        },
                        "nativeSrc": "4717:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4717:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4705:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4705:6:84"
                    },
                    "nativeSrc": "4705:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4705:51:84"
                  },
                  "nativeSrc": "4705:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4705:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4776:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4776:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4781:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4781:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4772:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4772:3:84"
                        },
                        "nativeSrc": "4772:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4772:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4802:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4802:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4809:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4809:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4798:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4798:3:84"
                                },
                                "nativeSrc": "4798:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4798:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4792:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4792:5:84"
                            },
                            "nativeSrc": "4792:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4792:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4817:8:84",
                            "nodeType": "YulLiteral",
                            "src": "4817:8:84",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4788:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4788:3:84"
                        },
                        "nativeSrc": "4788:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4788:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4765:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4765:6:84"
                    },
                    "nativeSrc": "4765:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4765:62:84"
                  },
                  "nativeSrc": "4765:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4765:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4847:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4847:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4852:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4852:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4843:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4843:3:84"
                        },
                        "nativeSrc": "4843:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4843:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4873:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4873:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4880:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4880:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4869:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4869:3:84"
                                },
                                "nativeSrc": "4869:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4869:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4863:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4863:5:84"
                            },
                            "nativeSrc": "4863:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4863:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4888:20:84",
                            "nodeType": "YulLiteral",
                            "src": "4888:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4859:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4859:3:84"
                        },
                        "nativeSrc": "4859:50:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4859:50:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4836:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4836:6:84"
                    },
                    "nativeSrc": "4836:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4836:74:84"
                  },
                  "nativeSrc": "4836:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4836:74:84"
                },
                {
                  "nativeSrc": "4919:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4919:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4949:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4949:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4956:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4956:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4945:3:84"
                        },
                        "nativeSrc": "4945:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4945:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4939:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4939:5:84"
                    },
                    "nativeSrc": "4939:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4939:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4923:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4923:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4982:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4982:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4987:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4987:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4978:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4978:3:84"
                        },
                        "nativeSrc": "4978:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4978:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4994:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4971:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4971:6:84"
                    },
                    "nativeSrc": "4971:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4971:28:84"
                  },
                  "nativeSrc": "4971:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4971:28:84"
                },
                {
                  "nativeSrc": "5008:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5008:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "5037:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "5037:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5060:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5060:4:84",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5051:3:84"
                        },
                        "nativeSrc": "5051:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5051:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "5020:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "5020:16:84"
                    },
                    "nativeSrc": "5020:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5020:46:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "5012:4:84",
                      "nodeType": "YulTypedName",
                      "src": "5012:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5086:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5086:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5091:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5091:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5082:3:84"
                        },
                        "nativeSrc": "5082:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5082:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "5108:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "5108:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5115:4:84",
                                "nodeType": "YulLiteral",
                                "src": "5115:4:84",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5104:3:84"
                            },
                            "nativeSrc": "5104:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5104:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "5098:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "5098:5:84"
                        },
                        "nativeSrc": "5098:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5098:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5075:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5075:6:84"
                    },
                    "nativeSrc": "5075:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5075:47:84"
                  },
                  "nativeSrc": "5075:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5075:47:84"
                },
                {
                  "nativeSrc": "5131:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5131:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5163:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5163:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5170:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5170:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5159:3:84"
                        },
                        "nativeSrc": "5159:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5159:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5153:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5153:5:84"
                    },
                    "nativeSrc": "5153:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5153:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "5135:14:84",
                      "nodeType": "YulTypedName",
                      "src": "5135:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5196:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5196:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5201:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5201:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5192:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5192:3:84"
                        },
                        "nativeSrc": "5192:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5192:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0_1",
                                "nativeSrc": "5218:14:84",
                                "nodeType": "YulIdentifier",
                                "src": "5218:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5212:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5212:5:84"
                            },
                            "nativeSrc": "5212:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5212:21:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5235:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5235:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5208:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5208:3:84"
                        },
                        "nativeSrc": "5208:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5208:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5185:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5185:6:84"
                    },
                    "nativeSrc": "5185:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5185:56:84"
                  },
                  "nativeSrc": "5185:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5185:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5261:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5261:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5266:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5266:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5257:3:84"
                        },
                        "nativeSrc": "5257:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5257:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "memberValue0_1",
                                    "nativeSrc": "5286:14:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5286:14:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5302:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "5302:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5282:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5282:3:84"
                                },
                                "nativeSrc": "5282:25:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5282:25:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5276:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5276:5:84"
                            },
                            "nativeSrc": "5276:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5276:32:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5310:18:84",
                            "nodeType": "YulLiteral",
                            "src": "5310:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5272:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5272:3:84"
                        },
                        "nativeSrc": "5272:57:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5272:57:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5250:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5250:6:84"
                    },
                    "nativeSrc": "5250:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5250:80:84"
                  },
                  "nativeSrc": "5250:80:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5250:80:84"
                },
                {
                  "nativeSrc": "5339:11:84",
                  "nodeType": "YulAssignment",
                  "src": "5339:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "5346:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "5346:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "5339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5339:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Request",
            "nativeSrc": "4637:719:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4672:5:84",
                "nodeType": "YulTypedName",
                "src": "4672:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "4679:3:84",
                "nodeType": "YulTypedName",
                "src": "4679:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "4687:3:84",
                "nodeType": "YulTypedName",
                "src": "4687:3:84",
                "type": ""
              }
            ],
            "src": "4637:719:84"
          },
          {
            "body": {
              "nativeSrc": "5514:107:84",
              "nodeType": "YulBlock",
              "src": "5514:107:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5531:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5531:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5542:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5542:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5524:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5524:6:84"
                    },
                    "nativeSrc": "5524:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5524:21:84"
                  },
                  "nativeSrc": "5524:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5524:21:84"
                },
                {
                  "nativeSrc": "5554:61:84",
                  "nodeType": "YulAssignment",
                  "src": "5554:61:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5588:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5588:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5600:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5600:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5611:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5611:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5596:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5596:3:84"
                        },
                        "nativeSrc": "5596:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5596:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "5562:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "5562:25:84"
                    },
                    "nativeSrc": "5562:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5562:53:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5554:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "5554:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed",
            "nativeSrc": "5361:260:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5483:9:84",
                "nodeType": "YulTypedName",
                "src": "5483:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5494:6:84",
                "nodeType": "YulTypedName",
                "src": "5494:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5505:4:84",
                "nodeType": "YulTypedName",
                "src": "5505:4:84",
                "type": ""
              }
            ],
            "src": "5361:260:84"
          },
          {
            "body": {
              "nativeSrc": "5658:95:84",
              "nodeType": "YulBlock",
              "src": "5658:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5675:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5675:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5682:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5682:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5687:10:84",
                            "nodeType": "YulLiteral",
                            "src": "5687:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5678:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5678:3:84"
                        },
                        "nativeSrc": "5678:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5678:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5668:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5668:6:84"
                    },
                    "nativeSrc": "5668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5668:31:84"
                  },
                  "nativeSrc": "5668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5668:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5715:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5715:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5718:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5718:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5708:6:84"
                    },
                    "nativeSrc": "5708:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5708:15:84"
                  },
                  "nativeSrc": "5708:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5708:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5739:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5739:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5742:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5742:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5732:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5732:6:84"
                    },
                    "nativeSrc": "5732:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5732:15:84"
                  },
                  "nativeSrc": "5732:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5732:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "5626:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "5626:127:84"
          },
          {
            "body": {
              "nativeSrc": "5814:89:84",
              "nodeType": "YulBlock",
              "src": "5814:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5848:22:84",
                    "nodeType": "YulBlock",
                    "src": "5848:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "5850:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "5850:16:84"
                          },
                          "nativeSrc": "5850:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5850:18:84"
                        },
                        "nativeSrc": "5850:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5850:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5837:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5837:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5844:1:84",
                            "nodeType": "YulLiteral",
                            "src": "5844:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5834:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5834:2:84"
                        },
                        "nativeSrc": "5834:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5834:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5827:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5827:6:84"
                    },
                    "nativeSrc": "5827:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5827:20:84"
                  },
                  "nativeSrc": "5824:46:84",
                  "nodeType": "YulIf",
                  "src": "5824:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "5886:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "5886:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "5891:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "5891:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5879:6:84"
                    },
                    "nativeSrc": "5879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5879:18:84"
                  },
                  "nativeSrc": "5879:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5879:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResponseStatus",
            "nativeSrc": "5758:145:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "5798:5:84",
                "nodeType": "YulTypedName",
                "src": "5798:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "5805:3:84",
                "nodeType": "YulTypedName",
                "src": "5805:3:84",
                "type": ""
              }
            ],
            "src": "5758:145:84"
          },
          {
            "body": {
              "nativeSrc": "6027:100:84",
              "nodeType": "YulBlock",
              "src": "6027:100:84",
              "statements": [
                {
                  "nativeSrc": "6037:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6037:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6060:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6060:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6045:3:84"
                    },
                    "nativeSrc": "6045:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6045:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6037:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "6103:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6103:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "6111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6111:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "6072:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "6072:30:84"
                    },
                    "nativeSrc": "6072:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6072:49:84"
                  },
                  "nativeSrc": "6072:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6072:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed",
            "nativeSrc": "5908:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5996:9:84",
                "nodeType": "YulTypedName",
                "src": "5996:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6007:6:84",
                "nodeType": "YulTypedName",
                "src": "6007:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6018:4:84",
                "nodeType": "YulTypedName",
                "src": "6018:4:84",
                "type": ""
              }
            ],
            "src": "5908:219:84"
          },
          {
            "body": {
              "nativeSrc": "6164:95:84",
              "nodeType": "YulBlock",
              "src": "6164:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6181:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6181:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6188:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6188:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6193:10:84",
                            "nodeType": "YulLiteral",
                            "src": "6193:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6184:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6184:3:84"
                        },
                        "nativeSrc": "6184:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6184:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6174:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6174:6:84"
                    },
                    "nativeSrc": "6174:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6174:31:84"
                  },
                  "nativeSrc": "6174:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6174:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6221:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6221:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6224:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6224:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6214:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6214:6:84"
                    },
                    "nativeSrc": "6214:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6214:15:84"
                  },
                  "nativeSrc": "6214:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6214:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6245:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6245:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6248:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6248:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6238:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6238:6:84"
                    },
                    "nativeSrc": "6238:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6238:15:84"
                  },
                  "nativeSrc": "6238:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6238:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6132:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "6132:127:84"
          },
          {
            "body": {
              "nativeSrc": "6311:202:84",
              "nodeType": "YulBlock",
              "src": "6311:202:84",
              "statements": [
                {
                  "nativeSrc": "6321:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6321:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6343:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6343:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6359:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "6359:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6365:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6365:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6355:3:84"
                            },
                            "nativeSrc": "6355:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6355:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6370:3:84"
                            },
                            "nativeSrc": "6370:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6370:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6351:3:84"
                        },
                        "nativeSrc": "6351:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6351:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6339:3:84"
                    },
                    "nativeSrc": "6339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6339:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6325:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6325:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6454:22:84",
                    "nodeType": "YulBlock",
                    "src": "6454:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6456:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6456:16:84"
                          },
                          "nativeSrc": "6456:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6456:18:84"
                        },
                        "nativeSrc": "6456:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6456:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6397:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6397:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6409:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6409:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6394:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6394:2:84"
                        },
                        "nativeSrc": "6394:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6394:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6433:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6433:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6445:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6445:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6430:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6430:2:84"
                        },
                        "nativeSrc": "6430:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6430:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6391:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6391:2:84"
                    },
                    "nativeSrc": "6391:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6391:62:84"
                  },
                  "nativeSrc": "6388:88:84",
                  "nodeType": "YulIf",
                  "src": "6388:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6492:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6492:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6496:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "6496:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6485:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6485:6:84"
                    },
                    "nativeSrc": "6485:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6485:22:84"
                  },
                  "nativeSrc": "6485:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6485:22:84"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "6264:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6293:6:84",
                "nodeType": "YulTypedName",
                "src": "6293:6:84",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "6301:4:84",
                "nodeType": "YulTypedName",
                "src": "6301:4:84",
                "type": ""
              }
            ],
            "src": "6264:249:84"
          },
          {
            "body": {
              "nativeSrc": "6587:114:84",
              "nodeType": "YulBlock",
              "src": "6587:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6631:22:84",
                    "nodeType": "YulBlock",
                    "src": "6631:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6633:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6633:16:84"
                          },
                          "nativeSrc": "6633:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6633:18:84"
                        },
                        "nativeSrc": "6633:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6633:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "6603:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6603:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6611:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6611:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6600:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6600:2:84"
                    },
                    "nativeSrc": "6600:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6600:30:84"
                  },
                  "nativeSrc": "6597:56:84",
                  "nodeType": "YulIf",
                  "src": "6597:56:84"
                },
                {
                  "nativeSrc": "6662:33:84",
                  "nodeType": "YulAssignment",
                  "src": "6662:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6678:1:84",
                            "nodeType": "YulLiteral",
                            "src": "6678:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "6681:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6681:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6674:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6674:3:84"
                        },
                        "nativeSrc": "6674:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6674:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6690:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6690:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6670:3:84"
                    },
                    "nativeSrc": "6670:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6670:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "6662:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6662:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_address_dyn",
            "nativeSrc": "6518:183:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "6567:6:84",
                "nodeType": "YulTypedName",
                "src": "6567:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "6578:4:84",
                "nodeType": "YulTypedName",
                "src": "6578:4:84",
                "type": ""
              }
            ],
            "src": "6518:183:84"
          },
          {
            "body": {
              "nativeSrc": "6801:933:84",
              "nodeType": "YulBlock",
              "src": "6801:933:84",
              "statements": [
                {
                  "nativeSrc": "6811:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6811:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6821:2:84",
                    "nodeType": "YulLiteral",
                    "src": "6821:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "6815:2:84",
                      "nodeType": "YulTypedName",
                      "src": "6815:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6868:16:84",
                    "nodeType": "YulBlock",
                    "src": "6868:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6877:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6877:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6880:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6870:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6870:6:84"
                          },
                          "nativeSrc": "6870:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6870:12:84"
                        },
                        "nativeSrc": "6870:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6870:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6843:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "6843:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6852:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6852:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6839:3:84"
                        },
                        "nativeSrc": "6839:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6839:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6864:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6864:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6835:3:84"
                    },
                    "nativeSrc": "6835:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6835:32:84"
                  },
                  "nativeSrc": "6832:52:84",
                  "nodeType": "YulIf",
                  "src": "6832:52:84"
                },
                {
                  "nativeSrc": "6893:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6893:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6920:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6920:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6907:12:84"
                    },
                    "nativeSrc": "6907:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6907:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6897:6:84",
                      "nodeType": "YulTypedName",
                      "src": "6897:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6973:16:84",
                    "nodeType": "YulBlock",
                    "src": "6973:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6982:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6982:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6985:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6975:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6975:6:84"
                          },
                          "nativeSrc": "6975:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6975:12:84"
                        },
                        "nativeSrc": "6975:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6975:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6945:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6945:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6953:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6953:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6942:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6942:2:84"
                    },
                    "nativeSrc": "6942:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6942:30:84"
                  },
                  "nativeSrc": "6939:50:84",
                  "nodeType": "YulIf",
                  "src": "6939:50:84"
                },
                {
                  "nativeSrc": "6998:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6998:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7012:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7012:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7023:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7023:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7008:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7008:3:84"
                    },
                    "nativeSrc": "7008:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7008:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "7002:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7002:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7078:16:84",
                    "nodeType": "YulBlock",
                    "src": "7078:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7087:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7087:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7090:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7080:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7080:6:84"
                          },
                          "nativeSrc": "7080:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7080:12:84"
                        },
                        "nativeSrc": "7080:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7080:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "7057:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7057:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7061:4:84",
                                "nodeType": "YulLiteral",
                                "src": "7061:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7053:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7053:3:84"
                            },
                            "nativeSrc": "7053:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7053:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7068:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7068:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7049:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7049:3:84"
                        },
                        "nativeSrc": "7049:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7049:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7042:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7042:6:84"
                    },
                    "nativeSrc": "7042:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7042:35:84"
                  },
                  "nativeSrc": "7039:55:84",
                  "nodeType": "YulIf",
                  "src": "7039:55:84"
                },
                {
                  "nativeSrc": "7103:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7103:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7126:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7126:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7113:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7113:12:84"
                    },
                    "nativeSrc": "7113:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7113:16:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "7107:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7107:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7138:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7138:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "7188:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7188:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "7148:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "7148:39:84"
                    },
                    "nativeSrc": "7148:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7148:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "7142:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7142:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7200:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7200:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7214:5:84"
                    },
                    "nativeSrc": "7214:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7214:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7252:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7252:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "7260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "7232:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "7232:19:84"
                    },
                    "nativeSrc": "7232:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7232:31:84"
                  },
                  "nativeSrc": "7232:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7232:31:84"
                },
                {
                  "nativeSrc": "7272:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7272:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7283:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7283:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "7276:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7276:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7305:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "7313:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7313:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7298:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7298:6:84"
                    },
                    "nativeSrc": "7298:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7298:18:84"
                  },
                  "nativeSrc": "7298:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7298:18:84"
                },
                {
                  "nativeSrc": "7325:22:84",
                  "nodeType": "YulAssignment",
                  "src": "7325:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7336:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7344:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7344:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7332:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7332:3:84"
                    },
                    "nativeSrc": "7332:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7332:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "7325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7325:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7356:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7356:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "7378:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7378:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7386:1:84",
                                "nodeType": "YulLiteral",
                                "src": "7386:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "7389:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7389:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "7382:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7382:3:84"
                            },
                            "nativeSrc": "7382:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7382:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7374:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7374:3:84"
                        },
                        "nativeSrc": "7374:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7374:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7395:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7395:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7370:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7370:3:84"
                    },
                    "nativeSrc": "7370:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7370:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "7360:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7360:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7430:16:84",
                    "nodeType": "YulBlock",
                    "src": "7430:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7439:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7439:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7442:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7442:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7432:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7432:6:84"
                          },
                          "nativeSrc": "7432:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7432:12:84"
                        },
                        "nativeSrc": "7432:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7432:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7413:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7413:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "7421:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "7421:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7410:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7410:2:84"
                    },
                    "nativeSrc": "7410:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7410:19:84"
                  },
                  "nativeSrc": "7407:39:84",
                  "nodeType": "YulIf",
                  "src": "7407:39:84"
                },
                {
                  "nativeSrc": "7455:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7455:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7470:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7470:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7466:3:84"
                    },
                    "nativeSrc": "7466:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7466:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "7459:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7459:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7542:161:84",
                    "nodeType": "YulBlock",
                    "src": "7542:161:84",
                    "statements": [
                      {
                        "nativeSrc": "7556:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "7556:30:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7582:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7582:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "7569:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "7569:12:84"
                          },
                          "nativeSrc": "7569:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7569:17:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "7560:5:84",
                            "nodeType": "YulTypedName",
                            "src": "7560:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "7624:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7624:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "7599:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "7599:24:84"
                          },
                          "nativeSrc": "7599:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7599:31:84"
                        },
                        "nativeSrc": "7599:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7599:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7650:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7650:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "7655:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7655:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7643:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7643:6:84"
                          },
                          "nativeSrc": "7643:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7643:18:84"
                        },
                        "nativeSrc": "7643:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7643:18:84"
                      },
                      {
                        "nativeSrc": "7674:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7674:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7685:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7685:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7690:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7690:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7681:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7681:3:84"
                          },
                          "nativeSrc": "7681:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7681:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "7674:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7674:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "7497:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7497:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7502:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "7494:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7494:2:84"
                    },
                    "nativeSrc": "7494:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7494:15:84"
                  },
                  "nativeSrc": "7486:217:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "7510:23:84",
                    "nodeType": "YulBlock",
                    "src": "7510:23:84",
                    "statements": [
                      {
                        "nativeSrc": "7512:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7512:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7523:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7523:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7528:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7528:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7519:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7519:3:84"
                          },
                          "nativeSrc": "7519:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7519:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "7512:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7512:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "7490:3:84",
                    "nodeType": "YulBlock",
                    "src": "7490:3:84",
                    "statements": []
                  },
                  "src": "7486:217:84"
                },
                {
                  "nativeSrc": "7712:16:84",
                  "nodeType": "YulAssignment",
                  "src": "7712:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7722:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7722:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7712:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr",
            "nativeSrc": "6706:1028:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6767:9:84",
                "nodeType": "YulTypedName",
                "src": "6767:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6778:7:84",
                "nodeType": "YulTypedName",
                "src": "6778:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6790:6:84",
                "nodeType": "YulTypedName",
                "src": "6790:6:84",
                "type": ""
              }
            ],
            "src": "6706:1028:84"
          },
          {
            "body": {
              "nativeSrc": "7810:85:84",
              "nodeType": "YulBlock",
              "src": "7810:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7849:16:84",
                    "nodeType": "YulBlock",
                    "src": "7849:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7858:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7858:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7861:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7851:6:84"
                          },
                          "nativeSrc": "7851:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7851:12:84"
                        },
                        "nativeSrc": "7851:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7851:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "7831:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7831:3:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "7836:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7836:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7827:3:84"
                        },
                        "nativeSrc": "7827:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7827:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7845:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7845:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7823:3:84"
                    },
                    "nativeSrc": "7823:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7823:25:84"
                  },
                  "nativeSrc": "7820:45:84",
                  "nodeType": "YulIf",
                  "src": "7820:45:84"
                },
                {
                  "nativeSrc": "7874:15:84",
                  "nodeType": "YulAssignment",
                  "src": "7874:15:84",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "7883:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7883:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7874:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7874:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_calldata",
            "nativeSrc": "7739:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "7784:6:84",
                "nodeType": "YulTypedName",
                "src": "7784:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7792:3:84",
                "nodeType": "YulTypedName",
                "src": "7792:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "7800:5:84",
                "nodeType": "YulTypedName",
                "src": "7800:5:84",
                "type": ""
              }
            ],
            "src": "7739:156:84"
          },
          {
            "body": {
              "nativeSrc": "8016:193:84",
              "nodeType": "YulBlock",
              "src": "8016:193:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8062:16:84",
                    "nodeType": "YulBlock",
                    "src": "8062:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8071:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8071:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8074:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8064:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8064:6:84"
                          },
                          "nativeSrc": "8064:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8064:12:84"
                        },
                        "nativeSrc": "8064:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8064:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8037:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8037:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8046:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8046:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8033:3:84"
                        },
                        "nativeSrc": "8033:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8033:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8058:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8058:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8029:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8029:3:84"
                    },
                    "nativeSrc": "8029:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8029:32:84"
                  },
                  "nativeSrc": "8026:52:84",
                  "nodeType": "YulIf",
                  "src": "8026:52:84"
                },
                {
                  "nativeSrc": "8087:33:84",
                  "nodeType": "YulAssignment",
                  "src": "8087:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8110:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8110:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8097:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8097:12:84"
                    },
                    "nativeSrc": "8097:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8097:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8087:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "8129:74:84",
                  "nodeType": "YulAssignment",
                  "src": "8129:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8179:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8190:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8190:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8175:3:84"
                        },
                        "nativeSrc": "8175:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8175:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8195:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8195:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "8139:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "8139:35:84"
                    },
                    "nativeSrc": "8139:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8139:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8129:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8129:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "7900:309:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7974:9:84",
                "nodeType": "YulTypedName",
                "src": "7974:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7985:7:84",
                "nodeType": "YulTypedName",
                "src": "7985:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7997:6:84",
                "nodeType": "YulTypedName",
                "src": "7997:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8005:6:84",
                "nodeType": "YulTypedName",
                "src": "8005:6:84",
                "type": ""
              }
            ],
            "src": "7900:309:84"
          },
          {
            "body": {
              "nativeSrc": "8271:129:84",
              "nodeType": "YulBlock",
              "src": "8271:129:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8315:22:84",
                    "nodeType": "YulBlock",
                    "src": "8315:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8317:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "8317:16:84"
                          },
                          "nativeSrc": "8317:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8317:18:84"
                        },
                        "nativeSrc": "8317:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8317:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "8287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8287:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8295:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8295:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8284:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8284:2:84"
                    },
                    "nativeSrc": "8284:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8284:30:84"
                  },
                  "nativeSrc": "8281:56:84",
                  "nodeType": "YulIf",
                  "src": "8281:56:84"
                },
                {
                  "nativeSrc": "8346:48:84",
                  "nodeType": "YulAssignment",
                  "src": "8346:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "8366:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8366:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8362:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8362:3:84"
                            },
                            "nativeSrc": "8362:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8362:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8383:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8383:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "8379:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8379:3:84"
                            },
                            "nativeSrc": "8379:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8379:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8358:3:84"
                        },
                        "nativeSrc": "8358:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8358:29:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8389:4:84",
                        "nodeType": "YulLiteral",
                        "src": "8389:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8354:3:84"
                    },
                    "nativeSrc": "8354:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8354:40:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "8346:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "8346:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "8214:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "8251:6:84",
                "nodeType": "YulTypedName",
                "src": "8251:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "8262:4:84",
                "nodeType": "YulTypedName",
                "src": "8262:4:84",
                "type": ""
              }
            ],
            "src": "8214:186:84"
          },
          {
            "body": {
              "nativeSrc": "8484:648:84",
              "nodeType": "YulBlock",
              "src": "8484:648:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8530:16:84",
                    "nodeType": "YulBlock",
                    "src": "8530:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8539:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8542:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8532:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8532:6:84"
                          },
                          "nativeSrc": "8532:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8532:12:84"
                        },
                        "nativeSrc": "8532:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8532:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8505:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8505:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8514:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8514:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8501:3:84"
                        },
                        "nativeSrc": "8501:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8501:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8526:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8526:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8497:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8497:3:84"
                    },
                    "nativeSrc": "8497:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8497:32:84"
                  },
                  "nativeSrc": "8494:52:84",
                  "nodeType": "YulIf",
                  "src": "8494:52:84"
                },
                {
                  "nativeSrc": "8555:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8555:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8582:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8582:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8569:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8569:12:84"
                    },
                    "nativeSrc": "8569:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8569:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8559:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8559:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8635:16:84",
                    "nodeType": "YulBlock",
                    "src": "8635:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8644:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8644:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8647:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8647:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8637:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8637:6:84"
                          },
                          "nativeSrc": "8637:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8637:12:84"
                        },
                        "nativeSrc": "8637:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8637:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8607:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8607:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8615:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8615:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8604:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8604:2:84"
                    },
                    "nativeSrc": "8604:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8604:30:84"
                  },
                  "nativeSrc": "8601:50:84",
                  "nodeType": "YulIf",
                  "src": "8601:50:84"
                },
                {
                  "nativeSrc": "8660:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8660:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8674:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8674:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "8685:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8685:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8670:3:84"
                    },
                    "nativeSrc": "8670:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8670:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8664:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8664:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8740:16:84",
                    "nodeType": "YulBlock",
                    "src": "8740:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8749:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8749:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8752:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8752:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8742:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8742:6:84"
                          },
                          "nativeSrc": "8742:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8742:12:84"
                        },
                        "nativeSrc": "8742:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8742:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8719:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8719:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8723:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8723:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8715:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8715:3:84"
                            },
                            "nativeSrc": "8715:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8715:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8730:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8730:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8711:3:84"
                        },
                        "nativeSrc": "8711:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8711:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8704:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8704:6:84"
                    },
                    "nativeSrc": "8704:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8704:35:84"
                  },
                  "nativeSrc": "8701:55:84",
                  "nodeType": "YulIf",
                  "src": "8701:55:84"
                },
                {
                  "nativeSrc": "8765:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8765:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "8788:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8788:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8775:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8775:12:84"
                    },
                    "nativeSrc": "8775:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8775:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "8769:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8769:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8800:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8800:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "8838:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8838:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "8810:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "8810:27:84"
                    },
                    "nativeSrc": "8810:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8810:31:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "8804:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8804:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8850:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8850:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8870:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8870:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8864:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8864:5:84"
                    },
                    "nativeSrc": "8864:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8864:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "8854:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8854:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8902:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8902:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "8910:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8910:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "8882:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "8882:19:84"
                    },
                    "nativeSrc": "8882:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8882:31:84"
                  },
                  "nativeSrc": "8882:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8882:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8929:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "8937:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8937:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8922:6:84"
                    },
                    "nativeSrc": "8922:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8922:18:84"
                  },
                  "nativeSrc": "8922:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8922:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "8986:16:84",
                    "nodeType": "YulBlock",
                    "src": "8986:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8995:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8995:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8998:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8998:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8988:6:84"
                          },
                          "nativeSrc": "8988:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8988:12:84"
                        },
                        "nativeSrc": "8988:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8988:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8963:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8963:2:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "8967:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8967:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8959:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8959:3:84"
                            },
                            "nativeSrc": "8959:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8959:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8972:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8972:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8955:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8955:3:84"
                        },
                        "nativeSrc": "8955:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8955:20:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8977:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8977:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8952:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8952:2:84"
                    },
                    "nativeSrc": "8952:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8952:33:84"
                  },
                  "nativeSrc": "8949:53:84",
                  "nodeType": "YulIf",
                  "src": "8949:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9028:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9028:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9036:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9036:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9024:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9024:3:84"
                        },
                        "nativeSrc": "9024:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9024:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9045:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9045:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9049:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9049:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9041:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9041:3:84"
                        },
                        "nativeSrc": "9041:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9041:11:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "9054:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9054:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "9011:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9011:12:84"
                    },
                    "nativeSrc": "9011:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9011:46:84"
                  },
                  "nativeSrc": "9011:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9011:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "9081:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "9081:6:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "9089:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "9089:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9077:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9077:3:84"
                            },
                            "nativeSrc": "9077:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9077:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9094:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9094:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9073:3:84"
                        },
                        "nativeSrc": "9073:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9073:24:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9099:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9099:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9066:6:84"
                    },
                    "nativeSrc": "9066:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9066:35:84"
                  },
                  "nativeSrc": "9066:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9066:35:84"
                },
                {
                  "nativeSrc": "9110:16:84",
                  "nodeType": "YulAssignment",
                  "src": "9110:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "9120:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9120:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9110:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "8405:727:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8450:9:84",
                "nodeType": "YulTypedName",
                "src": "8450:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8461:7:84",
                "nodeType": "YulTypedName",
                "src": "8461:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8473:6:84",
                "nodeType": "YulTypedName",
                "src": "8473:6:84",
                "type": ""
              }
            ],
            "src": "8405:727:84"
          },
          {
            "body": {
              "nativeSrc": "9242:352:84",
              "nodeType": "YulBlock",
              "src": "9242:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9288:16:84",
                    "nodeType": "YulBlock",
                    "src": "9288:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9297:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9297:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9300:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9300:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9290:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9290:6:84"
                          },
                          "nativeSrc": "9290:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9290:12:84"
                        },
                        "nativeSrc": "9290:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9290:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9263:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9263:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9272:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9272:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9259:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9259:3:84"
                        },
                        "nativeSrc": "9259:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9259:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9284:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9284:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9255:3:84"
                    },
                    "nativeSrc": "9255:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9255:32:84"
                  },
                  "nativeSrc": "9252:52:84",
                  "nodeType": "YulIf",
                  "src": "9252:52:84"
                },
                {
                  "nativeSrc": "9313:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9313:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9340:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9340:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9327:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9327:12:84"
                    },
                    "nativeSrc": "9327:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9327:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9317:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9317:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9393:16:84",
                    "nodeType": "YulBlock",
                    "src": "9393:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9402:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9405:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9405:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9395:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9395:6:84"
                          },
                          "nativeSrc": "9395:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9395:12:84"
                        },
                        "nativeSrc": "9395:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9395:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9365:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9365:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9373:18:84",
                        "nodeType": "YulLiteral",
                        "src": "9373:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9362:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "9362:2:84"
                    },
                    "nativeSrc": "9362:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9362:30:84"
                  },
                  "nativeSrc": "9359:50:84",
                  "nodeType": "YulIf",
                  "src": "9359:50:84"
                },
                {
                  "nativeSrc": "9418:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9418:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9506:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9506:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "9517:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9517:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9502:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9502:3:84"
                        },
                        "nativeSrc": "9502:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9502:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9526:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "9526:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "9444:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "9444:57:84"
                    },
                    "nativeSrc": "9444:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9444:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "9422:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9422:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "9432:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9432:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9543:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9543:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "9553:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9553:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9543:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9570:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9570:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "9580:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9580:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
            "nativeSrc": "9137:457:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9200:9:84",
                "nodeType": "YulTypedName",
                "src": "9200:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9211:7:84",
                "nodeType": "YulTypedName",
                "src": "9211:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9223:6:84",
                "nodeType": "YulTypedName",
                "src": "9223:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "9231:6:84",
                "nodeType": "YulTypedName",
                "src": "9231:6:84",
                "type": ""
              }
            ],
            "src": "9137:457:84"
          },
          {
            "body": {
              "nativeSrc": "9768:631:84",
              "nodeType": "YulBlock",
              "src": "9768:631:84",
              "statements": [
                {
                  "nativeSrc": "9778:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9778:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9788:2:84",
                    "nodeType": "YulLiteral",
                    "src": "9788:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9782:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9782:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9799:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9799:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9817:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9817:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9828:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9828:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9813:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9813:3:84"
                    },
                    "nativeSrc": "9813:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9813:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9803:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9803:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9847:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9847:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9858:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9858:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9840:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9840:6:84"
                    },
                    "nativeSrc": "9840:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9840:21:84"
                  },
                  "nativeSrc": "9840:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9840:21:84"
                },
                {
                  "nativeSrc": "9870:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9870:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9881:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9881:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "9874:3:84",
                      "nodeType": "YulTypedName",
                      "src": "9874:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9896:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9896:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9916:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9916:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9910:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9910:5:84"
                    },
                    "nativeSrc": "9910:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9910:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "9900:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9900:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "9939:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9939:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9947:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9947:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9932:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9932:6:84"
                    },
                    "nativeSrc": "9932:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9932:22:84"
                  },
                  "nativeSrc": "9932:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9932:22:84"
                },
                {
                  "nativeSrc": "9963:25:84",
                  "nodeType": "YulAssignment",
                  "src": "9963:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9974:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9974:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9985:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9985:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9970:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9970:3:84"
                    },
                    "nativeSrc": "9970:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9970:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "9963:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9963:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9997:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9997:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10019:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "10034:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10034:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "10037:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10037:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "10030:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10030:3:84"
                            },
                            "nativeSrc": "10030:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10030:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10015:3:84"
                        },
                        "nativeSrc": "10015:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10015:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10047:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10047:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10011:3:84"
                    },
                    "nativeSrc": "10011:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10011:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "10001:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10001:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10059:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10059:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10077:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10077:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10085:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10085:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10073:3:84"
                    },
                    "nativeSrc": "10073:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10073:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "10063:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10063:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10097:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10097:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "10106:1:84",
                    "nodeType": "YulLiteral",
                    "src": "10106:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "10101:1:84",
                      "nodeType": "YulTypedName",
                      "src": "10101:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10165:205:84",
                    "nodeType": "YulBlock",
                    "src": "10165:205:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10186:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10186:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "10199:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10199:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "10207:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10207:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "10195:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10195:3:84"
                                  },
                                  "nativeSrc": "10195:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10195:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10223:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "10223:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "10219:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10219:3:84"
                                  },
                                  "nativeSrc": "10219:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10219:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "10191:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "10191:3:84"
                              },
                              "nativeSrc": "10191:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10191:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10179:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10179:6:84"
                          },
                          "nativeSrc": "10179:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10179:49:84"
                        },
                        "nativeSrc": "10179:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10179:49:84"
                      },
                      {
                        "nativeSrc": "10241:49:84",
                        "nodeType": "YulAssignment",
                        "src": "10241:49:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "10274:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10274:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "10268:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "10268:5:84"
                              },
                              "nativeSrc": "10268:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10268:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "10283:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10283:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_bytes",
                            "nativeSrc": "10251:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10251:16:84"
                          },
                          "nativeSrc": "10251:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10251:39:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "10241:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10241:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10303:25:84",
                        "nodeType": "YulAssignment",
                        "src": "10303:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "10317:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10317:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10325:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10325:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10313:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10313:3:84"
                          },
                          "nativeSrc": "10313:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10313:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "10303:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10303:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10341:19:84",
                        "nodeType": "YulAssignment",
                        "src": "10341:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10352:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10352:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10357:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10357:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10348:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10348:3:84"
                          },
                          "nativeSrc": "10348:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10348:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "10341:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10341:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "10127:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10127:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10130:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10130:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "10124:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10124:2:84"
                    },
                    "nativeSrc": "10124:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10124:13:84"
                  },
                  "nativeSrc": "10116:254:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "10138:18:84",
                    "nodeType": "YulBlock",
                    "src": "10138:18:84",
                    "statements": [
                      {
                        "nativeSrc": "10140:14:84",
                        "nodeType": "YulAssignment",
                        "src": "10140:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "10149:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "10149:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10152:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10152:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10145:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10145:3:84"
                          },
                          "nativeSrc": "10145:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10145:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "10140:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "10140:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "10120:3:84",
                    "nodeType": "YulBlock",
                    "src": "10120:3:84",
                    "statements": []
                  },
                  "src": "10116:254:84"
                },
                {
                  "nativeSrc": "10379:14:84",
                  "nodeType": "YulAssignment",
                  "src": "10379:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "10387:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "10387:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10379:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10379:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "9599:800:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9737:9:84",
                "nodeType": "YulTypedName",
                "src": "9737:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9748:6:84",
                "nodeType": "YulTypedName",
                "src": "9748:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9759:4:84",
                "nodeType": "YulTypedName",
                "src": "9759:4:84",
                "type": ""
              }
            ],
            "src": "9599:800:84"
          },
          {
            "body": {
              "nativeSrc": "10505:102:84",
              "nodeType": "YulBlock",
              "src": "10505:102:84",
              "statements": [
                {
                  "nativeSrc": "10515:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10515:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10527:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10527:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10538:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10538:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10523:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10523:3:84"
                    },
                    "nativeSrc": "10523:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10523:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10515:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10515:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10557:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10557:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10572:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10588:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10588:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10593:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10593:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10584:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10584:3:84"
                                },
                                "nativeSrc": "10584:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "10584:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10597:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10597:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10580:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10580:3:84"
                            },
                            "nativeSrc": "10580:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10580:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10568:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10568:3:84"
                        },
                        "nativeSrc": "10568:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10568:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10550:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10550:6:84"
                    },
                    "nativeSrc": "10550:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10550:51:84"
                  },
                  "nativeSrc": "10550:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10550:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "10404:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10474:9:84",
                "nodeType": "YulTypedName",
                "src": "10474:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10485:6:84",
                "nodeType": "YulTypedName",
                "src": "10485:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10496:4:84",
                "nodeType": "YulTypedName",
                "src": "10496:4:84",
                "type": ""
              }
            ],
            "src": "10404:203:84"
          },
          {
            "body": {
              "nativeSrc": "10713:76:84",
              "nodeType": "YulBlock",
              "src": "10713:76:84",
              "statements": [
                {
                  "nativeSrc": "10723:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10723:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10735:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10735:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10746:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10746:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10731:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10731:3:84"
                    },
                    "nativeSrc": "10731:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10731:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10723:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10723:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10765:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10765:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "10776:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10776:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10758:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10758:6:84"
                    },
                    "nativeSrc": "10758:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10758:25:84"
                  },
                  "nativeSrc": "10758:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10758:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10612:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10682:9:84",
                "nodeType": "YulTypedName",
                "src": "10682:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10693:6:84",
                "nodeType": "YulTypedName",
                "src": "10693:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10704:4:84",
                "nodeType": "YulTypedName",
                "src": "10704:4:84",
                "type": ""
              }
            ],
            "src": "10612:177:84"
          },
          {
            "body": {
              "nativeSrc": "10915:98:84",
              "nodeType": "YulBlock",
              "src": "10915:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10932:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10932:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10943:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10943:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10925:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10925:6:84"
                    },
                    "nativeSrc": "10925:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10925:21:84"
                  },
                  "nativeSrc": "10925:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10925:21:84"
                },
                {
                  "nativeSrc": "10955:52:84",
                  "nodeType": "YulAssignment",
                  "src": "10955:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10980:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10980:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10992:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10992:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11003:2:84",
                            "nodeType": "YulLiteral",
                            "src": "11003:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10988:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10988:3:84"
                        },
                        "nativeSrc": "10988:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10988:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "10963:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "10963:16:84"
                    },
                    "nativeSrc": "10963:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10963:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10955:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10955:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10794:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10884:9:84",
                "nodeType": "YulTypedName",
                "src": "10884:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10895:6:84",
                "nodeType": "YulTypedName",
                "src": "10895:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10906:4:84",
                "nodeType": "YulTypedName",
                "src": "10906:4:84",
                "type": ""
              }
            ],
            "src": "10794:219:84"
          },
          {
            "body": {
              "nativeSrc": "11071:89:84",
              "nodeType": "YulBlock",
              "src": "11071:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11105:22:84",
                    "nodeType": "YulBlock",
                    "src": "11105:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11107:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "11107:16:84"
                          },
                          "nativeSrc": "11107:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11107:18:84"
                        },
                        "nativeSrc": "11107:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11107:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11094:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11094:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11101:1:84",
                            "nodeType": "YulLiteral",
                            "src": "11101:1:84",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11091:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "11091:2:84"
                        },
                        "nativeSrc": "11091:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11091:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11084:6:84"
                    },
                    "nativeSrc": "11084:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11084:20:84"
                  },
                  "nativeSrc": "11081:46:84",
                  "nodeType": "YulIf",
                  "src": "11081:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11143:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11143:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11148:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "11148:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11136:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11136:6:84"
                    },
                    "nativeSrc": "11136:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11136:18:84"
                  },
                  "nativeSrc": "11136:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11136:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_QueryStatus",
            "nativeSrc": "11018:142:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11055:5:84",
                "nodeType": "YulTypedName",
                "src": "11055:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11062:3:84",
                "nodeType": "YulTypedName",
                "src": "11062:3:84",
                "type": ""
              }
            ],
            "src": "11018:142:84"
          },
          {
            "body": {
              "nativeSrc": "11331:502:84",
              "nodeType": "YulBlock",
              "src": "11331:502:84",
              "statements": [
                {
                  "nativeSrc": "11341:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11341:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11351:2:84",
                    "nodeType": "YulLiteral",
                    "src": "11351:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11345:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11345:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11362:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11362:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11380:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11380:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11391:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11391:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11376:3:84"
                    },
                    "nativeSrc": "11376:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11376:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "11366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11410:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11410:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11421:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11421:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11403:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11403:6:84"
                    },
                    "nativeSrc": "11403:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11403:21:84"
                  },
                  "nativeSrc": "11403:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11403:21:84"
                },
                {
                  "nativeSrc": "11433:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11433:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "11444:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "11444:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "11437:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11437:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11459:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11459:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11479:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11479:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11473:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11473:5:84"
                    },
                    "nativeSrc": "11473:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11473:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11463:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11463:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "11502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11502:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11510:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11510:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11495:6:84"
                    },
                    "nativeSrc": "11495:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11495:22:84"
                  },
                  "nativeSrc": "11495:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11495:22:84"
                },
                {
                  "nativeSrc": "11526:25:84",
                  "nodeType": "YulAssignment",
                  "src": "11526:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11537:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11537:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11548:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11548:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11533:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11533:3:84"
                    },
                    "nativeSrc": "11533:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11533:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11526:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "11560:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11560:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11578:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11578:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11586:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11586:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11574:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11574:3:84"
                    },
                    "nativeSrc": "11574:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11574:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11564:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11564:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11598:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11598:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11607:1:84",
                    "nodeType": "YulLiteral",
                    "src": "11607:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11602:1:84",
                      "nodeType": "YulTypedName",
                      "src": "11602:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11666:141:84",
                    "nodeType": "YulBlock",
                    "src": "11666:141:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "11714:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "11714:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "11708:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "11708:5:84"
                              },
                              "nativeSrc": "11708:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "11708:13:84"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "11723:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11723:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_QueryStatus",
                            "nativeSrc": "11680:27:84",
                            "nodeType": "YulIdentifier",
                            "src": "11680:27:84"
                          },
                          "nativeSrc": "11680:47:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11680:47:84"
                        },
                        "nativeSrc": "11680:47:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11680:47:84"
                      },
                      {
                        "nativeSrc": "11740:19:84",
                        "nodeType": "YulAssignment",
                        "src": "11740:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "11751:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11751:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11756:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11756:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11747:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11747:3:84"
                          },
                          "nativeSrc": "11747:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11747:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "11740:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11740:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11772:25:84",
                        "nodeType": "YulAssignment",
                        "src": "11772:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "11786:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "11786:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11794:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11794:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11782:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11782:3:84"
                          },
                          "nativeSrc": "11782:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11782:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "11772:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11772:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11628:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "11628:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11631:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11631:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11625:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11625:2:84"
                    },
                    "nativeSrc": "11625:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11625:13:84"
                  },
                  "nativeSrc": "11617:190:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11639:18:84",
                    "nodeType": "YulBlock",
                    "src": "11639:18:84",
                    "statements": [
                      {
                        "nativeSrc": "11641:14:84",
                        "nodeType": "YulAssignment",
                        "src": "11641:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11650:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "11650:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11653:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11653:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11646:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11646:3:84"
                          },
                          "nativeSrc": "11646:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11646:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11641:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "11641:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11621:3:84",
                    "nodeType": "YulBlock",
                    "src": "11621:3:84",
                    "statements": []
                  },
                  "src": "11617:190:84"
                },
                {
                  "nativeSrc": "11816:11:84",
                  "nodeType": "YulAssignment",
                  "src": "11816:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11824:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "11824:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11816:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11816:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "11165:668:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11300:9:84",
                "nodeType": "YulTypedName",
                "src": "11300:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11311:6:84",
                "nodeType": "YulTypedName",
                "src": "11311:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11322:4:84",
                "nodeType": "YulTypedName",
                "src": "11322:4:84",
                "type": ""
              }
            ],
            "src": "11165:668:84"
          },
          {
            "body": {
              "nativeSrc": "11910:275:84",
              "nodeType": "YulBlock",
              "src": "11910:275:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11959:16:84",
                    "nodeType": "YulBlock",
                    "src": "11959:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11968:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11968:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11971:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11971:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11961:6:84"
                          },
                          "nativeSrc": "11961:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11961:12:84"
                        },
                        "nativeSrc": "11961:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11961:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "11938:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "11938:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11946:4:84",
                                "nodeType": "YulLiteral",
                                "src": "11946:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11934:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11934:3:84"
                            },
                            "nativeSrc": "11934:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11934:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11953:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11953:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "11930:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11930:3:84"
                        },
                        "nativeSrc": "11930:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11930:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11923:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11923:6:84"
                    },
                    "nativeSrc": "11923:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11923:35:84"
                  },
                  "nativeSrc": "11920:55:84",
                  "nodeType": "YulIf",
                  "src": "11920:55:84"
                },
                {
                  "nativeSrc": "11984:30:84",
                  "nodeType": "YulAssignment",
                  "src": "11984:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12007:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12007:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11994:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11994:12:84"
                    },
                    "nativeSrc": "11994:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11994:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "11984:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11984:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12057:16:84",
                    "nodeType": "YulBlock",
                    "src": "12057:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12066:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12066:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12069:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12069:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12059:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12059:6:84"
                          },
                          "nativeSrc": "12059:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12059:12:84"
                        },
                        "nativeSrc": "12059:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12059:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "12029:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12029:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12037:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12037:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12026:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12026:2:84"
                    },
                    "nativeSrc": "12026:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12026:30:84"
                  },
                  "nativeSrc": "12023:50:84",
                  "nodeType": "YulIf",
                  "src": "12023:50:84"
                },
                {
                  "nativeSrc": "12082:29:84",
                  "nodeType": "YulAssignment",
                  "src": "12082:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12098:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12098:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12106:4:84",
                        "nodeType": "YulLiteral",
                        "src": "12106:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12094:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12094:3:84"
                    },
                    "nativeSrc": "12094:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12094:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "12082:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "12082:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12163:16:84",
                    "nodeType": "YulBlock",
                    "src": "12163:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12172:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12172:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12175:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12175:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12165:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12165:6:84"
                          },
                          "nativeSrc": "12165:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12165:12:84"
                        },
                        "nativeSrc": "12165:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12165:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "12134:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12134:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12142:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12142:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12130:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12130:3:84"
                            },
                            "nativeSrc": "12130:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12130:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12151:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12151:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12126:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12126:3:84"
                        },
                        "nativeSrc": "12126:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12126:30:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "12158:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12158:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12123:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12123:2:84"
                    },
                    "nativeSrc": "12123:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12123:39:84"
                  },
                  "nativeSrc": "12120:59:84",
                  "nodeType": "YulIf",
                  "src": "12120:59:84"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "11838:347:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "11873:6:84",
                "nodeType": "YulTypedName",
                "src": "11873:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "11881:3:84",
                "nodeType": "YulTypedName",
                "src": "11881:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "11889:8:84",
                "nodeType": "YulTypedName",
                "src": "11889:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "11899:6:84",
                "nodeType": "YulTypedName",
                "src": "11899:6:84",
                "type": ""
              }
            ],
            "src": "11838:347:84"
          },
          {
            "body": {
              "nativeSrc": "12313:422:84",
              "nodeType": "YulBlock",
              "src": "12313:422:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12359:16:84",
                    "nodeType": "YulBlock",
                    "src": "12359:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12368:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12368:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12371:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12371:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12361:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12361:6:84"
                          },
                          "nativeSrc": "12361:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12361:12:84"
                        },
                        "nativeSrc": "12361:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12361:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12334:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "12334:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12343:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12343:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12330:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12330:3:84"
                        },
                        "nativeSrc": "12330:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12330:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12355:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12355:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12326:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12326:3:84"
                    },
                    "nativeSrc": "12326:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12326:32:84"
                  },
                  "nativeSrc": "12323:52:84",
                  "nodeType": "YulIf",
                  "src": "12323:52:84"
                },
                {
                  "nativeSrc": "12384:33:84",
                  "nodeType": "YulAssignment",
                  "src": "12384:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12407:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12407:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12394:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12394:12:84"
                    },
                    "nativeSrc": "12394:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12394:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12384:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12384:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12426:42:84",
                  "nodeType": "YulAssignment",
                  "src": "12426:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12453:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12453:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12464:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12464:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12449:3:84"
                        },
                        "nativeSrc": "12449:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12449:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12436:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12436:12:84"
                    },
                    "nativeSrc": "12436:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12436:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12426:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12477:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12477:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12508:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12508:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12519:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12519:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12504:3:84"
                        },
                        "nativeSrc": "12504:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12504:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12491:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12491:12:84"
                    },
                    "nativeSrc": "12491:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12491:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12481:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12481:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12566:16:84",
                    "nodeType": "YulBlock",
                    "src": "12566:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12575:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12575:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12578:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12578:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12568:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12568:6:84"
                          },
                          "nativeSrc": "12568:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12568:12:84"
                        },
                        "nativeSrc": "12568:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12568:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12538:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12538:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12546:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12546:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12535:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12535:2:84"
                    },
                    "nativeSrc": "12535:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12535:30:84"
                  },
                  "nativeSrc": "12532:50:84",
                  "nodeType": "YulIf",
                  "src": "12532:50:84"
                },
                {
                  "nativeSrc": "12591:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12591:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12647:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12647:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12658:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12658:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12643:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12643:3:84"
                        },
                        "nativeSrc": "12643:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12643:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12667:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12667:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "12617:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "12617:25:84"
                    },
                    "nativeSrc": "12617:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12617:58:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "12595:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12595:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "12605:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12605:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12684:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12684:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "12694:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12694:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12684:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12684:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12711:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12711:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "12721:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12721:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12711:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12711:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "12190:545:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12255:9:84",
                "nodeType": "YulTypedName",
                "src": "12255:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12266:7:84",
                "nodeType": "YulTypedName",
                "src": "12266:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12278:6:84",
                "nodeType": "YulTypedName",
                "src": "12278:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12286:6:84",
                "nodeType": "YulTypedName",
                "src": "12286:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12294:6:84",
                "nodeType": "YulTypedName",
                "src": "12294:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12302:6:84",
                "nodeType": "YulTypedName",
                "src": "12302:6:84",
                "type": ""
              }
            ],
            "src": "12190:545:84"
          },
          {
            "body": {
              "nativeSrc": "12856:97:84",
              "nodeType": "YulBlock",
              "src": "12856:97:84",
              "statements": [
                {
                  "nativeSrc": "12866:26:84",
                  "nodeType": "YulAssignment",
                  "src": "12866:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12878:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12878:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12889:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12889:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12874:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12874:3:84"
                    },
                    "nativeSrc": "12874:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12874:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "12866:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "12866:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12929:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "12937:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12937:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "12901:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "12901:27:84"
                    },
                    "nativeSrc": "12901:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12901:46:84"
                  },
                  "nativeSrc": "12901:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12901:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed",
            "nativeSrc": "12740:213:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12825:9:84",
                "nodeType": "YulTypedName",
                "src": "12825:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12836:6:84",
                "nodeType": "YulTypedName",
                "src": "12836:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12847:4:84",
                "nodeType": "YulTypedName",
                "src": "12847:4:84",
                "type": ""
              }
            ],
            "src": "12740:213:84"
          },
          {
            "body": {
              "nativeSrc": "13089:102:84",
              "nodeType": "YulBlock",
              "src": "13089:102:84",
              "statements": [
                {
                  "nativeSrc": "13099:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13099:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13111:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13122:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13122:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13107:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13107:3:84"
                    },
                    "nativeSrc": "13107:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13107:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13099:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13099:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13141:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13141:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13156:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13156:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13172:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13172:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13177:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13177:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "13168:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13168:3:84"
                                },
                                "nativeSrc": "13168:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13168:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13181:1:84",
                                "nodeType": "YulLiteral",
                                "src": "13181:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "13164:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13164:3:84"
                            },
                            "nativeSrc": "13164:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13164:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13152:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13152:3:84"
                        },
                        "nativeSrc": "13152:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13152:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13134:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13134:6:84"
                    },
                    "nativeSrc": "13134:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13134:51:84"
                  },
                  "nativeSrc": "13134:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13134:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed",
            "nativeSrc": "12958:233:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13058:9:84",
                "nodeType": "YulTypedName",
                "src": "13058:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13069:6:84",
                "nodeType": "YulTypedName",
                "src": "13069:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13080:4:84",
                "nodeType": "YulTypedName",
                "src": "13080:4:84",
                "type": ""
              }
            ],
            "src": "12958:233:84"
          },
          {
            "body": {
              "nativeSrc": "13295:103:84",
              "nodeType": "YulBlock",
              "src": "13295:103:84",
              "statements": [
                {
                  "nativeSrc": "13305:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13305:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13317:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13317:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13328:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13328:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13313:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13313:3:84"
                    },
                    "nativeSrc": "13313:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13313:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13305:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13305:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13347:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13347:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13362:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13374:3:84",
                                "nodeType": "YulLiteral",
                                "src": "13374:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13379:10:84",
                                "nodeType": "YulLiteral",
                                "src": "13379:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13370:3:84"
                            },
                            "nativeSrc": "13370:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13370:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13358:3:84"
                        },
                        "nativeSrc": "13358:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13358:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13340:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13340:6:84"
                    },
                    "nativeSrc": "13340:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13340:52:84"
                  },
                  "nativeSrc": "13340:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13340:52:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "13196:202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13264:9:84",
                "nodeType": "YulTypedName",
                "src": "13264:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13275:6:84",
                "nodeType": "YulTypedName",
                "src": "13275:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13286:4:84",
                "nodeType": "YulTypedName",
                "src": "13286:4:84",
                "type": ""
              }
            ],
            "src": "13196:202:84"
          },
          {
            "body": {
              "nativeSrc": "13447:73:84",
              "nodeType": "YulBlock",
              "src": "13447:73:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13498:16:84",
                    "nodeType": "YulBlock",
                    "src": "13498:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13507:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13507:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13510:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13510:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13500:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13500:6:84"
                          },
                          "nativeSrc": "13500:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13500:12:84"
                        },
                        "nativeSrc": "13500:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13500:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13470:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13470:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13481:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "13481:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13488:6:84",
                                "nodeType": "YulLiteral",
                                "src": "13488:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13477:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13477:3:84"
                            },
                            "nativeSrc": "13477:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13477:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13467:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "13467:2:84"
                        },
                        "nativeSrc": "13467:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13467:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13460:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13460:6:84"
                    },
                    "nativeSrc": "13460:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13460:37:84"
                  },
                  "nativeSrc": "13457:57:84",
                  "nodeType": "YulIf",
                  "src": "13457:57:84"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "13403:117:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13436:5:84",
                "nodeType": "YulTypedName",
                "src": "13436:5:84",
                "type": ""
              }
            ],
            "src": "13403:117:84"
          },
          {
            "body": {
              "nativeSrc": "13611:227:84",
              "nodeType": "YulBlock",
              "src": "13611:227:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13657:16:84",
                    "nodeType": "YulBlock",
                    "src": "13657:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13666:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13666:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13669:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13659:6:84"
                          },
                          "nativeSrc": "13659:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13659:12:84"
                        },
                        "nativeSrc": "13659:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13659:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13632:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13632:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13641:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13641:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13628:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13628:3:84"
                        },
                        "nativeSrc": "13628:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13628:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13653:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13653:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13624:3:84"
                    },
                    "nativeSrc": "13624:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13624:32:84"
                  },
                  "nativeSrc": "13621:52:84",
                  "nodeType": "YulIf",
                  "src": "13621:52:84"
                },
                {
                  "nativeSrc": "13682:33:84",
                  "nodeType": "YulAssignment",
                  "src": "13682:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13705:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13705:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13692:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13692:12:84"
                    },
                    "nativeSrc": "13692:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13692:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13682:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13682:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "13724:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13724:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13754:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13754:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13765:2:84",
                            "nodeType": "YulLiteral",
                            "src": "13765:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13750:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13750:3:84"
                        },
                        "nativeSrc": "13750:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13750:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13737:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13737:12:84"
                    },
                    "nativeSrc": "13737:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13737:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13728:5:84",
                      "nodeType": "YulTypedName",
                      "src": "13728:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13802:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "13802:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "13778:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "13778:23:84"
                    },
                    "nativeSrc": "13778:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13778:30:84"
                  },
                  "nativeSrc": "13778:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13778:30:84"
                },
                {
                  "nativeSrc": "13817:15:84",
                  "nodeType": "YulAssignment",
                  "src": "13817:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "13827:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "13827:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint16",
            "nativeSrc": "13525:313:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13569:9:84",
                "nodeType": "YulTypedName",
                "src": "13569:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13580:7:84",
                "nodeType": "YulTypedName",
                "src": "13580:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13592:6:84",
                "nodeType": "YulTypedName",
                "src": "13592:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13600:6:84",
                "nodeType": "YulTypedName",
                "src": "13600:6:84",
                "type": ""
              }
            ],
            "src": "13525:313:84"
          },
          {
            "body": {
              "nativeSrc": "13962:98:84",
              "nodeType": "YulBlock",
              "src": "13962:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13979:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13979:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13990:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13990:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13972:6:84"
                    },
                    "nativeSrc": "13972:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13972:21:84"
                  },
                  "nativeSrc": "13972:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13972:21:84"
                },
                {
                  "nativeSrc": "14002:52:84",
                  "nodeType": "YulAssignment",
                  "src": "14002:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14027:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14027:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14039:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14039:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14050:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14050:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14035:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14035:3:84"
                        },
                        "nativeSrc": "14035:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14035:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "14010:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "14010:16:84"
                    },
                    "nativeSrc": "14010:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14010:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14002:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14002:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "13843:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13931:9:84",
                "nodeType": "YulTypedName",
                "src": "13931:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13942:6:84",
                "nodeType": "YulTypedName",
                "src": "13942:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13953:4:84",
                "nodeType": "YulTypedName",
                "src": "13953:4:84",
                "type": ""
              }
            ],
            "src": "13843:217:84"
          },
          {
            "body": {
              "nativeSrc": "14240:727:84",
              "nodeType": "YulBlock",
              "src": "14240:727:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14287:16:84",
                    "nodeType": "YulBlock",
                    "src": "14287:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14296:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14296:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14299:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14299:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14289:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14289:6:84"
                          },
                          "nativeSrc": "14289:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14289:12:84"
                        },
                        "nativeSrc": "14289:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14289:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14261:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "14261:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14270:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14270:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14257:3:84"
                        },
                        "nativeSrc": "14257:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14257:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14282:3:84",
                        "nodeType": "YulLiteral",
                        "src": "14282:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14253:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14253:3:84"
                    },
                    "nativeSrc": "14253:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14253:33:84"
                  },
                  "nativeSrc": "14250:53:84",
                  "nodeType": "YulIf",
                  "src": "14250:53:84"
                },
                {
                  "nativeSrc": "14312:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14312:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14339:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14339:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14326:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14326:12:84"
                    },
                    "nativeSrc": "14326:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14326:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14316:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14316:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14358:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14358:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14368:18:84",
                    "nodeType": "YulLiteral",
                    "src": "14368:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14362:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14362:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14413:16:84",
                    "nodeType": "YulBlock",
                    "src": "14413:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14422:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14422:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14425:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14425:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14415:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14415:6:84"
                          },
                          "nativeSrc": "14415:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14415:12:84"
                        },
                        "nativeSrc": "14415:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14415:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14401:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14401:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14409:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14409:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14398:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14398:2:84"
                    },
                    "nativeSrc": "14398:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14398:14:84"
                  },
                  "nativeSrc": "14395:34:84",
                  "nodeType": "YulIf",
                  "src": "14395:34:84"
                },
                {
                  "nativeSrc": "14438:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14438:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14526:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14537:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14537:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14522:3:84"
                        },
                        "nativeSrc": "14522:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14522:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14546:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14546:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "14464:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "14464:57:84"
                    },
                    "nativeSrc": "14464:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14464:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14442:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14442:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14452:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14452:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14563:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14563:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14573:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14573:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14563:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14590:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14590:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14600:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14600:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14590:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14590:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14617:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14617:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14650:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14661:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14661:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14646:3:84"
                        },
                        "nativeSrc": "14646:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14646:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14633:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14633:12:84"
                    },
                    "nativeSrc": "14633:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14633:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14621:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14621:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14694:16:84",
                    "nodeType": "YulBlock",
                    "src": "14694:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14703:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14703:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14706:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14706:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14696:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14696:6:84"
                          },
                          "nativeSrc": "14696:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14696:12:84"
                        },
                        "nativeSrc": "14696:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14696:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14680:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "14680:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14690:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14690:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14677:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14677:2:84"
                    },
                    "nativeSrc": "14677:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14677:16:84"
                  },
                  "nativeSrc": "14674:36:84",
                  "nodeType": "YulIf",
                  "src": "14674:36:84"
                },
                {
                  "nativeSrc": "14719:86:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14719:86:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14775:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14775:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "14786:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "14786:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14771:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14771:3:84"
                        },
                        "nativeSrc": "14771:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14771:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14797:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14797:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "14745:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "14745:25:84"
                    },
                    "nativeSrc": "14745:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14745:60:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "14723:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14723:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "14733:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14733:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14814:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14814:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "14824:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14824:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14814:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14841:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14841:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "14851:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14851:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "14841:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14841:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14868:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14868:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14895:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14895:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14906:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14906:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14891:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14891:3:84"
                        },
                        "nativeSrc": "14891:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14891:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14878:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14878:12:84"
                    },
                    "nativeSrc": "14878:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14878:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "14868:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14868:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14919:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14919:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14946:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14946:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14957:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14957:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14942:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14942:3:84"
                        },
                        "nativeSrc": "14942:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14942:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14929:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14929:12:84"
                    },
                    "nativeSrc": "14929:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14929:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "14919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14919:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "14065:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14166:9:84",
                "nodeType": "YulTypedName",
                "src": "14166:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14177:7:84",
                "nodeType": "YulTypedName",
                "src": "14177:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14189:6:84",
                "nodeType": "YulTypedName",
                "src": "14189:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14197:6:84",
                "nodeType": "YulTypedName",
                "src": "14197:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14205:6:84",
                "nodeType": "YulTypedName",
                "src": "14205:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "14213:6:84",
                "nodeType": "YulTypedName",
                "src": "14213:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "14221:6:84",
                "nodeType": "YulTypedName",
                "src": "14221:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "14229:6:84",
                "nodeType": "YulTypedName",
                "src": "14229:6:84",
                "type": ""
              }
            ],
            "src": "14065:902:84"
          },
          {
            "body": {
              "nativeSrc": "15101:119:84",
              "nodeType": "YulBlock",
              "src": "15101:119:84",
              "statements": [
                {
                  "nativeSrc": "15111:26:84",
                  "nodeType": "YulAssignment",
                  "src": "15111:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15123:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15123:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15134:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15134:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15119:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15119:3:84"
                    },
                    "nativeSrc": "15119:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15119:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15111:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15111:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15153:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15153:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "15164:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15164:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15146:6:84"
                    },
                    "nativeSrc": "15146:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15146:25:84"
                  },
                  "nativeSrc": "15146:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15146:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15191:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15191:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15202:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15202:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15187:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15187:3:84"
                        },
                        "nativeSrc": "15187:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15187:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "15207:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15207:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15180:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15180:6:84"
                    },
                    "nativeSrc": "15180:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15180:34:84"
                  },
                  "nativeSrc": "15180:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15180:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "14972:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15062:9:84",
                "nodeType": "YulTypedName",
                "src": "15062:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15073:6:84",
                "nodeType": "YulTypedName",
                "src": "15073:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15081:6:84",
                "nodeType": "YulTypedName",
                "src": "15081:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15092:4:84",
                "nodeType": "YulTypedName",
                "src": "15092:4:84",
                "type": ""
              }
            ],
            "src": "14972:248:84"
          },
          {
            "body": {
              "nativeSrc": "15312:161:84",
              "nodeType": "YulBlock",
              "src": "15312:161:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15358:16:84",
                    "nodeType": "YulBlock",
                    "src": "15358:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15367:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15367:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15370:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15370:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15360:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15360:6:84"
                          },
                          "nativeSrc": "15360:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15360:12:84"
                        },
                        "nativeSrc": "15360:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15360:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15333:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15333:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15342:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15342:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15329:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15329:3:84"
                        },
                        "nativeSrc": "15329:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15329:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15354:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15354:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15325:3:84"
                    },
                    "nativeSrc": "15325:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15325:32:84"
                  },
                  "nativeSrc": "15322:52:84",
                  "nodeType": "YulIf",
                  "src": "15322:52:84"
                },
                {
                  "nativeSrc": "15383:33:84",
                  "nodeType": "YulAssignment",
                  "src": "15383:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15406:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15406:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15393:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15393:12:84"
                    },
                    "nativeSrc": "15393:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15393:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15383:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15383:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15425:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15425:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15452:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15452:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15463:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15463:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15448:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15448:3:84"
                        },
                        "nativeSrc": "15448:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15448:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15435:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15435:12:84"
                    },
                    "nativeSrc": "15435:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15435:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15425:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15425:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32",
            "nativeSrc": "15225:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15270:9:84",
                "nodeType": "YulTypedName",
                "src": "15270:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15281:7:84",
                "nodeType": "YulTypedName",
                "src": "15281:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15293:6:84",
                "nodeType": "YulTypedName",
                "src": "15293:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15301:6:84",
                "nodeType": "YulTypedName",
                "src": "15301:6:84",
                "type": ""
              }
            ],
            "src": "15225:248:84"
          },
          {
            "body": {
              "nativeSrc": "15629:460:84",
              "nodeType": "YulBlock",
              "src": "15629:460:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15676:16:84",
                    "nodeType": "YulBlock",
                    "src": "15676:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15685:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15685:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15688:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15688:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15678:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15678:6:84"
                          },
                          "nativeSrc": "15678:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15678:12:84"
                        },
                        "nativeSrc": "15678:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15678:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15650:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15650:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15659:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15659:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15646:3:84"
                        },
                        "nativeSrc": "15646:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15646:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15671:3:84",
                        "nodeType": "YulLiteral",
                        "src": "15671:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15642:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15642:3:84"
                    },
                    "nativeSrc": "15642:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15642:33:84"
                  },
                  "nativeSrc": "15639:53:84",
                  "nodeType": "YulIf",
                  "src": "15639:53:84"
                },
                {
                  "nativeSrc": "15701:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15701:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15728:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15728:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15715:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15715:12:84"
                    },
                    "nativeSrc": "15715:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15715:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15705:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15705:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15781:16:84",
                    "nodeType": "YulBlock",
                    "src": "15781:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15790:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15790:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15793:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15793:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15783:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15783:6:84"
                          },
                          "nativeSrc": "15783:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15783:12:84"
                        },
                        "nativeSrc": "15783:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15783:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15753:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15753:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15761:18:84",
                        "nodeType": "YulLiteral",
                        "src": "15761:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15750:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "15750:2:84"
                    },
                    "nativeSrc": "15750:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15750:30:84"
                  },
                  "nativeSrc": "15747:50:84",
                  "nodeType": "YulIf",
                  "src": "15747:50:84"
                },
                {
                  "nativeSrc": "15806:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15806:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15862:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15862:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15873:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15858:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15858:3:84"
                        },
                        "nativeSrc": "15858:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15858:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15882:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "15882:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "15832:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "15832:25:84"
                    },
                    "nativeSrc": "15832:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15832:58:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15810:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15810:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15820:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15820:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15899:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15899:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15909:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15909:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15899:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15899:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15926:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15926:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15936:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15936:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15926:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15926:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15953:74:84",
                  "nodeType": "YulAssignment",
                  "src": "15953:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16003:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16003:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16014:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16014:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15999:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15999:3:84"
                        },
                        "nativeSrc": "15999:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15999:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16019:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16019:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "15963:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "15963:35:84"
                    },
                    "nativeSrc": "15963:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15963:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15953:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15953:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16036:47:84",
                  "nodeType": "YulAssignment",
                  "src": "16036:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16068:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16068:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16079:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16079:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16064:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16064:3:84"
                        },
                        "nativeSrc": "16064:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16064:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "16046:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "16046:17:84"
                    },
                    "nativeSrc": "16046:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16046:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "16036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16036:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "15478:611:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15571:9:84",
                "nodeType": "YulTypedName",
                "src": "15571:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15582:7:84",
                "nodeType": "YulTypedName",
                "src": "15582:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15594:6:84",
                "nodeType": "YulTypedName",
                "src": "15594:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15602:6:84",
                "nodeType": "YulTypedName",
                "src": "15602:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15610:6:84",
                "nodeType": "YulTypedName",
                "src": "15610:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15618:6:84",
                "nodeType": "YulTypedName",
                "src": "15618:6:84",
                "type": ""
              }
            ],
            "src": "15478:611:84"
          },
          {
            "body": {
              "nativeSrc": "16152:91:84",
              "nodeType": "YulBlock",
              "src": "16152:91:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16188:22:84",
                    "nodeType": "YulBlock",
                    "src": "16188:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "16190:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "16190:16:84"
                          },
                          "nativeSrc": "16190:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16190:18:84"
                        },
                        "nativeSrc": "16190:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16190:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16175:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "16175:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16182:3:84",
                            "nodeType": "YulLiteral",
                            "src": "16182:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "16172:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "16172:2:84"
                        },
                        "nativeSrc": "16172:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16172:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16165:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16165:6:84"
                    },
                    "nativeSrc": "16165:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16165:22:84"
                  },
                  "nativeSrc": "16162:48:84",
                  "nodeType": "YulIf",
                  "src": "16162:48:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16226:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16226:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "16231:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "16231:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16219:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16219:6:84"
                    },
                    "nativeSrc": "16219:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16219:18:84"
                  },
                  "nativeSrc": "16219:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16219:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResultErrorCodes",
            "nativeSrc": "16094:149:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "16136:5:84",
                "nodeType": "YulTypedName",
                "src": "16136:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "16143:3:84",
                "nodeType": "YulTypedName",
                "src": "16143:3:84",
                "type": ""
              }
            ],
            "src": "16094:149:84"
          },
          {
            "body": {
              "nativeSrc": "16409:274:84",
              "nodeType": "YulBlock",
              "src": "16409:274:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16426:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16426:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16437:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16437:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16419:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16419:6:84"
                    },
                    "nativeSrc": "16419:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16419:21:84"
                  },
                  "nativeSrc": "16419:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16419:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16488:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16488:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "16482:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "16482:5:84"
                        },
                        "nativeSrc": "16482:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16482:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16501:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16501:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16512:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16512:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16497:3:84"
                        },
                        "nativeSrc": "16497:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16497:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "16449:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "16449:32:84"
                    },
                    "nativeSrc": "16449:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16449:67:84"
                  },
                  "nativeSrc": "16449:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16449:67:84"
                },
                {
                  "nativeSrc": "16525:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16525:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16555:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16555:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16563:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16563:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16551:3:84"
                        },
                        "nativeSrc": "16551:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16551:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16545:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16545:5:84"
                    },
                    "nativeSrc": "16545:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16545:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16529:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16529:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16587:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16587:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16598:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16598:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16583:3:84"
                        },
                        "nativeSrc": "16583:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16583:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16605:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16605:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16576:6:84"
                    },
                    "nativeSrc": "16576:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16576:34:84"
                  },
                  "nativeSrc": "16576:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16576:34:84"
                },
                {
                  "nativeSrc": "16619:58:84",
                  "nodeType": "YulAssignment",
                  "src": "16619:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "16644:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "16644:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16662:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16662:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16673:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16673:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16658:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16658:3:84"
                        },
                        "nativeSrc": "16658:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16658:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "16627:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "16627:16:84"
                    },
                    "nativeSrc": "16627:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16627:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16619:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "16619:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed",
            "nativeSrc": "16248:435:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16378:9:84",
                "nodeType": "YulTypedName",
                "src": "16378:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16389:6:84",
                "nodeType": "YulTypedName",
                "src": "16389:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16400:4:84",
                "nodeType": "YulTypedName",
                "src": "16400:4:84",
                "type": ""
              }
            ],
            "src": "16248:435:84"
          },
          {
            "body": {
              "nativeSrc": "16837:397:84",
              "nodeType": "YulBlock",
              "src": "16837:397:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16854:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16854:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16865:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16865:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16847:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16847:6:84"
                    },
                    "nativeSrc": "16847:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16847:21:84"
                  },
                  "nativeSrc": "16847:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16847:21:84"
                },
                {
                  "nativeSrc": "16877:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16877:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16903:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16903:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16897:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16897:5:84"
                    },
                    "nativeSrc": "16897:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16897:13:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16881:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16881:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16941:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16926:3:84"
                        },
                        "nativeSrc": "16926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16926:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16946:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16946:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16919:6:84"
                    },
                    "nativeSrc": "16919:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16919:32:84"
                  },
                  "nativeSrc": "16919:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16919:32:84"
                },
                {
                  "nativeSrc": "16960:73:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16960:73:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "17000:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "17000:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17018:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17018:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17029:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17029:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17014:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17014:3:84"
                        },
                        "nativeSrc": "17014:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17014:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "16974:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "16974:25:84"
                    },
                    "nativeSrc": "16974:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16974:59:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "16964:6:84",
                      "nodeType": "YulTypedName",
                      "src": "16964:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17042:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17042:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17074:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17074:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17082:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17082:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17070:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17070:3:84"
                        },
                        "nativeSrc": "17070:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17070:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17064:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17064:5:84"
                    },
                    "nativeSrc": "17064:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17064:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "17046:14:84",
                      "nodeType": "YulTypedName",
                      "src": "17046:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17106:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17106:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17117:4:84",
                            "nodeType": "YulLiteral",
                            "src": "17117:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17102:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17102:3:84"
                        },
                        "nativeSrc": "17102:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17102:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "tail_1",
                                "nativeSrc": "17132:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "17132:6:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "17140:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "17140:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "17128:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17128:3:84"
                            },
                            "nativeSrc": "17128:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17128:22:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17156:2:84",
                                "nodeType": "YulLiteral",
                                "src": "17156:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "17152:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17152:3:84"
                            },
                            "nativeSrc": "17152:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17152:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17124:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17124:3:84"
                        },
                        "nativeSrc": "17124:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17124:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17095:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17095:6:84"
                    },
                    "nativeSrc": "17095:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17095:66:84"
                  },
                  "nativeSrc": "17095:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17095:66:84"
                },
                {
                  "nativeSrc": "17170:58:84",
                  "nodeType": "YulAssignment",
                  "src": "17170:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "17205:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "17205:14:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "17221:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17221:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "17178:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "17178:26:84"
                    },
                    "nativeSrc": "17178:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17178:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17170:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17170:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed",
            "nativeSrc": "16688:546:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16806:9:84",
                "nodeType": "YulTypedName",
                "src": "16806:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16817:6:84",
                "nodeType": "YulTypedName",
                "src": "16817:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16828:4:84",
                "nodeType": "YulTypedName",
                "src": "16828:4:84",
                "type": ""
              }
            ],
            "src": "16688:546:84"
          },
          {
            "body": {
              "nativeSrc": "17287:115:84",
              "nodeType": "YulBlock",
              "src": "17287:115:84",
              "statements": [
                {
                  "nativeSrc": "17297:29:84",
                  "nodeType": "YulAssignment",
                  "src": "17297:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17319:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17319:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17306:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17306:12:84"
                    },
                    "nativeSrc": "17306:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17306:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "17297:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17297:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17380:16:84",
                    "nodeType": "YulBlock",
                    "src": "17380:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17389:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17389:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17392:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17382:6:84"
                          },
                          "nativeSrc": "17382:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17382:12:84"
                        },
                        "nativeSrc": "17382:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17382:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17348:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "17348:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17359:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "17359:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17366:10:84",
                                "nodeType": "YulLiteral",
                                "src": "17366:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17355:3:84"
                            },
                            "nativeSrc": "17355:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17355:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17345:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "17345:2:84"
                        },
                        "nativeSrc": "17345:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17345:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17338:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17338:6:84"
                    },
                    "nativeSrc": "17338:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17338:41:84"
                  },
                  "nativeSrc": "17335:61:84",
                  "nodeType": "YulIf",
                  "src": "17335:61:84"
                }
              ]
            },
            "name": "abi_decode_uint32",
            "nativeSrc": "17239:163:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "17266:6:84",
                "nodeType": "YulTypedName",
                "src": "17266:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "17277:5:84",
                "nodeType": "YulTypedName",
                "src": "17277:5:84",
                "type": ""
              }
            ],
            "src": "17239:163:84"
          },
          {
            "body": {
              "nativeSrc": "17546:479:84",
              "nodeType": "YulBlock",
              "src": "17546:479:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17593:16:84",
                    "nodeType": "YulBlock",
                    "src": "17593:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17602:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17602:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17605:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17605:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17595:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17595:6:84"
                          },
                          "nativeSrc": "17595:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17595:12:84"
                        },
                        "nativeSrc": "17595:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17595:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17567:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17567:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17576:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17576:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17563:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17563:3:84"
                        },
                        "nativeSrc": "17563:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17563:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17588:3:84",
                        "nodeType": "YulLiteral",
                        "src": "17588:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17559:3:84"
                    },
                    "nativeSrc": "17559:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17559:33:84"
                  },
                  "nativeSrc": "17556:53:84",
                  "nodeType": "YulIf",
                  "src": "17556:53:84"
                },
                {
                  "nativeSrc": "17618:33:84",
                  "nodeType": "YulAssignment",
                  "src": "17618:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17641:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17641:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17628:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17628:12:84"
                    },
                    "nativeSrc": "17628:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17628:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17618:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17618:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17660:47:84",
                  "nodeType": "YulAssignment",
                  "src": "17660:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17692:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17692:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17703:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17703:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17688:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17688:3:84"
                        },
                        "nativeSrc": "17688:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17688:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "17670:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17670:17:84"
                    },
                    "nativeSrc": "17670:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17670:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17660:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17660:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17716:42:84",
                  "nodeType": "YulAssignment",
                  "src": "17716:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17743:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17743:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17754:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17754:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17739:3:84"
                        },
                        "nativeSrc": "17739:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17739:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17726:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17726:12:84"
                    },
                    "nativeSrc": "17726:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17726:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "17716:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17716:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17767:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17767:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17798:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17798:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17809:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17809:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17794:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17794:3:84"
                        },
                        "nativeSrc": "17794:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17794:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17781:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17781:12:84"
                    },
                    "nativeSrc": "17781:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17781:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17771:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17771:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17856:16:84",
                    "nodeType": "YulBlock",
                    "src": "17856:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17865:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17865:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17868:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17858:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17858:6:84"
                          },
                          "nativeSrc": "17858:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17858:12:84"
                        },
                        "nativeSrc": "17858:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17858:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17828:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17828:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17836:18:84",
                        "nodeType": "YulLiteral",
                        "src": "17836:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17825:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17825:2:84"
                    },
                    "nativeSrc": "17825:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17825:30:84"
                  },
                  "nativeSrc": "17822:50:84",
                  "nodeType": "YulIf",
                  "src": "17822:50:84"
                },
                {
                  "nativeSrc": "17881:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17881:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17937:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17937:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17948:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17948:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17933:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17933:3:84"
                        },
                        "nativeSrc": "17933:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17933:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17957:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17957:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17907:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "17907:25:84"
                    },
                    "nativeSrc": "17907:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17907:58:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "17885:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17885:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "17895:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17895:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17974:18:84",
                  "nodeType": "YulAssignment",
                  "src": "17974:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "17984:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "17984:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "17974:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17974:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18001:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18001:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "18011:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18011:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "18001:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18001:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "17407:618:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17480:9:84",
                "nodeType": "YulTypedName",
                "src": "17480:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17491:7:84",
                "nodeType": "YulTypedName",
                "src": "17491:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17503:6:84",
                "nodeType": "YulTypedName",
                "src": "17503:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17511:6:84",
                "nodeType": "YulTypedName",
                "src": "17511:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17519:6:84",
                "nodeType": "YulTypedName",
                "src": "17519:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17527:6:84",
                "nodeType": "YulTypedName",
                "src": "17527:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "17535:6:84",
                "nodeType": "YulTypedName",
                "src": "17535:6:84",
                "type": ""
              }
            ],
            "src": "17407:618:84"
          },
          {
            "body": {
              "nativeSrc": "18159:102:84",
              "nodeType": "YulBlock",
              "src": "18159:102:84",
              "statements": [
                {
                  "nativeSrc": "18169:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18169:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18181:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18181:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18192:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18192:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18177:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18177:3:84"
                    },
                    "nativeSrc": "18177:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18177:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18169:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18169:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18211:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18211:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18226:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18242:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18242:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18247:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18247:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18238:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18238:3:84"
                                },
                                "nativeSrc": "18238:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18238:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18251:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18251:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18234:3:84"
                            },
                            "nativeSrc": "18234:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18234:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18222:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18222:3:84"
                        },
                        "nativeSrc": "18222:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18222:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18204:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18204:6:84"
                    },
                    "nativeSrc": "18204:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18204:51:84"
                  },
                  "nativeSrc": "18204:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18204:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed",
            "nativeSrc": "18030:231:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18128:9:84",
                "nodeType": "YulTypedName",
                "src": "18128:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18139:6:84",
                "nodeType": "YulTypedName",
                "src": "18139:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18150:4:84",
                "nodeType": "YulTypedName",
                "src": "18150:4:84",
                "type": ""
              }
            ],
            "src": "18030:231:84"
          },
          {
            "body": {
              "nativeSrc": "18381:102:84",
              "nodeType": "YulBlock",
              "src": "18381:102:84",
              "statements": [
                {
                  "nativeSrc": "18391:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18391:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18403:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18403:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18414:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18414:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18399:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18399:3:84"
                    },
                    "nativeSrc": "18399:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18399:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18391:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18391:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18433:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18433:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18448:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18448:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18464:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18464:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18469:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18469:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18460:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18460:3:84"
                                },
                                "nativeSrc": "18460:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18460:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18473:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18473:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18456:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18456:3:84"
                            },
                            "nativeSrc": "18456:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18456:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18444:3:84"
                        },
                        "nativeSrc": "18444:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18444:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18426:6:84"
                    },
                    "nativeSrc": "18426:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18426:51:84"
                  },
                  "nativeSrc": "18426:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18426:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed",
            "nativeSrc": "18266:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18350:9:84",
                "nodeType": "YulTypedName",
                "src": "18350:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18361:6:84",
                "nodeType": "YulTypedName",
                "src": "18361:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18372:4:84",
                "nodeType": "YulTypedName",
                "src": "18372:4:84",
                "type": ""
              }
            ],
            "src": "18266:217:84"
          },
          {
            "body": {
              "nativeSrc": "18620:250:84",
              "nodeType": "YulBlock",
              "src": "18620:250:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18667:16:84",
                    "nodeType": "YulBlock",
                    "src": "18667:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18676:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18676:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18679:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18679:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18669:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18669:6:84"
                          },
                          "nativeSrc": "18669:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18669:12:84"
                        },
                        "nativeSrc": "18669:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18669:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18641:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18641:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18650:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18637:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18637:3:84"
                        },
                        "nativeSrc": "18637:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18637:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18662:3:84",
                        "nodeType": "YulLiteral",
                        "src": "18662:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18633:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18633:3:84"
                    },
                    "nativeSrc": "18633:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18633:33:84"
                  },
                  "nativeSrc": "18630:53:84",
                  "nodeType": "YulIf",
                  "src": "18630:53:84"
                },
                {
                  "nativeSrc": "18692:33:84",
                  "nodeType": "YulAssignment",
                  "src": "18692:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18715:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18715:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18702:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18702:12:84"
                    },
                    "nativeSrc": "18702:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18702:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18692:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18692:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18734:74:84",
                  "nodeType": "YulAssignment",
                  "src": "18734:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18784:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18784:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18795:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18795:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18780:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18780:3:84"
                        },
                        "nativeSrc": "18780:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18780:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18800:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18800:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "18744:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "18744:35:84"
                    },
                    "nativeSrc": "18744:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18744:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18734:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18734:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18817:47:84",
                  "nodeType": "YulAssignment",
                  "src": "18817:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18849:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18849:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18860:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18860:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18845:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18845:3:84"
                        },
                        "nativeSrc": "18845:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18845:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "18827:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "18827:17:84"
                    },
                    "nativeSrc": "18827:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18827:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "18488:382:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18570:9:84",
                "nodeType": "YulTypedName",
                "src": "18570:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18581:7:84",
                "nodeType": "YulTypedName",
                "src": "18581:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18593:6:84",
                "nodeType": "YulTypedName",
                "src": "18593:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18601:6:84",
                "nodeType": "YulTypedName",
                "src": "18601:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18609:6:84",
                "nodeType": "YulTypedName",
                "src": "18609:6:84",
                "type": ""
              }
            ],
            "src": "18488:382:84"
          },
          {
            "body": {
              "nativeSrc": "19163:353:84",
              "nodeType": "YulBlock",
              "src": "19163:353:84",
              "statements": [
                {
                  "nativeSrc": "19173:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19173:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "19193:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19193:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19187:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19187:5:84"
                    },
                    "nativeSrc": "19187:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19187:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19177:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19177:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19248:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19248:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19256:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19256:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19244:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19244:3:84"
                        },
                        "nativeSrc": "19244:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19244:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "19263:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19263:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19268:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19268:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19209:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19209:34:84"
                    },
                    "nativeSrc": "19209:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19209:66:84"
                  },
                  "nativeSrc": "19209:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19209:66:84"
                },
                {
                  "nativeSrc": "19284:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19284:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19301:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19301:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19306:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19306:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19297:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19297:3:84"
                    },
                    "nativeSrc": "19297:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19297:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "19288:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19288:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "19329:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19329:5:84"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "19336:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19336:4:84",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19322:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19322:6:84"
                    },
                    "nativeSrc": "19322:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19322:19:84"
                  },
                  "nativeSrc": "19322:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19322:19:84"
                },
                {
                  "nativeSrc": "19350:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19350:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "19372:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19372:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19366:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19366:5:84"
                    },
                    "nativeSrc": "19366:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19366:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "19354:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19354:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "19427:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19427:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19435:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19435:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19423:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19423:3:84"
                        },
                        "nativeSrc": "19423:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19423:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19446:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19446:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19453:1:84",
                            "nodeType": "YulLiteral",
                            "src": "19453:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19442:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19442:3:84"
                        },
                        "nativeSrc": "19442:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19442:13:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "19457:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "19457:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19388:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19388:34:84"
                    },
                    "nativeSrc": "19388:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19388:78:84"
                  },
                  "nativeSrc": "19388:78:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19388:78:84"
                },
                {
                  "nativeSrc": "19475:35:84",
                  "nodeType": "YulAssignment",
                  "src": "19475:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19490:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19490:5:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "19497:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "19497:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19486:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19486:3:84"
                        },
                        "nativeSrc": "19486:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19486:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19508:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19508:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19482:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19482:3:84"
                    },
                    "nativeSrc": "19482:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19482:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "19475:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19475:3:84"
                    }
                  ]
                }
              ]
            },
            "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": "18875:641:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "19131:3:84",
                "nodeType": "YulTypedName",
                "src": "19131:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19136:6:84",
                "nodeType": "YulTypedName",
                "src": "19136:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19144:6:84",
                "nodeType": "YulTypedName",
                "src": "19144:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "19155:3:84",
                "nodeType": "YulTypedName",
                "src": "19155:3:84",
                "type": ""
              }
            ],
            "src": "18875:641:84"
          },
          {
            "body": {
              "nativeSrc": "19553:95:84",
              "nodeType": "YulBlock",
              "src": "19553:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19570:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19570:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19577:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19577:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19582:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19582:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19573:3:84"
                        },
                        "nativeSrc": "19573:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19573:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19563:6:84"
                    },
                    "nativeSrc": "19563:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19563:31:84"
                  },
                  "nativeSrc": "19563:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19563:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19610:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19610:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19613:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19613:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19603:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19603:6:84"
                    },
                    "nativeSrc": "19603:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19603:15:84"
                  },
                  "nativeSrc": "19603:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19603:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19634:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19634:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19637:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19637:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19627:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19627:6:84"
                    },
                    "nativeSrc": "19627:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19627:15:84"
                  },
                  "nativeSrc": "19627:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19627:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "19521:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19521:127:84"
          },
          {
            "body": {
              "nativeSrc": "19685:95:84",
              "nodeType": "YulBlock",
              "src": "19685:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19702:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19702:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19709:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19709:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19714:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19714:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19705:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19705:3:84"
                        },
                        "nativeSrc": "19705:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19705:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19695:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19695:6:84"
                    },
                    "nativeSrc": "19695:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19695:31:84"
                  },
                  "nativeSrc": "19695:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19695:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19742:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19742:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19745:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19745:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19735:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19735:6:84"
                    },
                    "nativeSrc": "19735:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19735:15:84"
                  },
                  "nativeSrc": "19735:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19735:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19766:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19766:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19769:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19769:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19759:6:84"
                    },
                    "nativeSrc": "19759:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19759:15:84"
                  },
                  "nativeSrc": "19759:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19759:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "19653:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19653:127:84"
          },
          {
            "body": {
              "nativeSrc": "19829:121:84",
              "nodeType": "YulBlock",
              "src": "19829:121:84",
              "statements": [
                {
                  "nativeSrc": "19839:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19839:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "19854:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "19854:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19857:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19857:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "19850:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19850:3:84"
                    },
                    "nativeSrc": "19850:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19850:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "19843:3:84",
                      "nodeType": "YulTypedName",
                      "src": "19843:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19886:22:84",
                    "nodeType": "YulBlock",
                    "src": "19886:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "19888:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "19888:16:84"
                          },
                          "nativeSrc": "19888:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19888:18:84"
                        },
                        "nativeSrc": "19888:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19888:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "19881:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19881:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19874:6:84"
                    },
                    "nativeSrc": "19874:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19874:11:84"
                  },
                  "nativeSrc": "19871:37:84",
                  "nodeType": "YulIf",
                  "src": "19871:37:84"
                },
                {
                  "nativeSrc": "19917:27:84",
                  "nodeType": "YulAssignment",
                  "src": "19917:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "19930:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "19930:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19933:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19933:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19926:3:84"
                        },
                        "nativeSrc": "19926:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19926:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "19940:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19940:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "19922:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19922:3:84"
                    },
                    "nativeSrc": "19922:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19922:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "19917:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "19917:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "19785:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19814:1:84",
                "nodeType": "YulTypedName",
                "src": "19814:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19817:1:84",
                "nodeType": "YulTypedName",
                "src": "19817:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "19823:1:84",
                "nodeType": "YulTypedName",
                "src": "19823:1:84",
                "type": ""
              }
            ],
            "src": "19785:165:84"
          },
          {
            "body": {
              "nativeSrc": "20001:102:84",
              "nodeType": "YulBlock",
              "src": "20001:102:84",
              "statements": [
                {
                  "nativeSrc": "20011:38:84",
                  "nodeType": "YulAssignment",
                  "src": "20011:38:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20026:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20026:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20029:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20029:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20022:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20022:3:84"
                        },
                        "nativeSrc": "20022:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20022:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "20040:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20040:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20043:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20043:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20036:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20036:3:84"
                        },
                        "nativeSrc": "20036:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20036:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20018:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20018:3:84"
                    },
                    "nativeSrc": "20018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20018:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20011:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20075:22:84",
                    "nodeType": "YulBlock",
                    "src": "20075:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20077:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20077:16:84"
                          },
                          "nativeSrc": "20077:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20077:18:84"
                        },
                        "nativeSrc": "20077:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20077:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "20064:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20064:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20069:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20069:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20061:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20061:2:84"
                    },
                    "nativeSrc": "20061:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20061:13:84"
                  },
                  "nativeSrc": "20058:39:84",
                  "nodeType": "YulIf",
                  "src": "20058:39:84"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "19955:148:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19984:1:84",
                "nodeType": "YulTypedName",
                "src": "19984:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19987:1:84",
                "nodeType": "YulTypedName",
                "src": "19987:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "19993:3:84",
                "nodeType": "YulTypedName",
                "src": "19993:3:84",
                "type": ""
              }
            ],
            "src": "19955:148:84"
          },
          {
            "body": {
              "nativeSrc": "20144:121:84",
              "nodeType": "YulBlock",
              "src": "20144:121:84",
              "statements": [
                {
                  "nativeSrc": "20154:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20154:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "20169:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20169:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20172:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20172:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "20165:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20165:3:84"
                    },
                    "nativeSrc": "20165:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20165:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "20158:3:84",
                      "nodeType": "YulTypedName",
                      "src": "20158:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20201:22:84",
                    "nodeType": "YulBlock",
                    "src": "20201:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "20203:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20203:16:84"
                          },
                          "nativeSrc": "20203:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20203:18:84"
                        },
                        "nativeSrc": "20203:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20203:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "20196:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20196:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20189:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20189:6:84"
                    },
                    "nativeSrc": "20189:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20189:11:84"
                  },
                  "nativeSrc": "20186:37:84",
                  "nodeType": "YulIf",
                  "src": "20186:37:84"
                },
                {
                  "nativeSrc": "20232:27:84",
                  "nodeType": "YulAssignment",
                  "src": "20232:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20245:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20245:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20248:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20248:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20241:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20241:3:84"
                        },
                        "nativeSrc": "20241:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20241:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "20255:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20255:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "20237:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20237:3:84"
                    },
                    "nativeSrc": "20237:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20237:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "20232:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "20232:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "20108:157:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20129:1:84",
                "nodeType": "YulTypedName",
                "src": "20129:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20132:1:84",
                "nodeType": "YulTypedName",
                "src": "20132:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "20138:1:84",
                "nodeType": "YulTypedName",
                "src": "20138:1:84",
                "type": ""
              }
            ],
            "src": "20108:157:84"
          },
          {
            "body": {
              "nativeSrc": "20302:95:84",
              "nodeType": "YulBlock",
              "src": "20302:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20319:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20319:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "20326:3:84",
                            "nodeType": "YulLiteral",
                            "src": "20326:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20331:10:84",
                            "nodeType": "YulLiteral",
                            "src": "20331:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "20322:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20322:3:84"
                        },
                        "nativeSrc": "20322:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20322:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20312:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20312:6:84"
                    },
                    "nativeSrc": "20312:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20312:31:84"
                  },
                  "nativeSrc": "20312:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20312:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20359:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20359:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20362:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20362:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20352:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20352:6:84"
                    },
                    "nativeSrc": "20352:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20352:15:84"
                  },
                  "nativeSrc": "20352:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20352:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20383:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20383:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20386:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20386:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "20376:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20376:6:84"
                    },
                    "nativeSrc": "20376:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20376:15:84"
                  },
                  "nativeSrc": "20376:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20376:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "20270:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "20270:127:84"
          },
          {
            "body": {
              "nativeSrc": "20454:116:84",
              "nodeType": "YulBlock",
              "src": "20454:116:84",
              "statements": [
                {
                  "nativeSrc": "20464:20:84",
                  "nodeType": "YulAssignment",
                  "src": "20464:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20479:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20479:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20482:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20482:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "20475:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20475:3:84"
                    },
                    "nativeSrc": "20475:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20475:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "20464:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "20464:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20542:22:84",
                    "nodeType": "YulBlock",
                    "src": "20542:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20544:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20544:16:84"
                          },
                          "nativeSrc": "20544:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20544:18:84"
                        },
                        "nativeSrc": "20544:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20544:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "20513:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20513:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "20506:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "20506:6:84"
                            },
                            "nativeSrc": "20506:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20506:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "20520:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20520:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "20527:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20527:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "20536:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20536:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "20523:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20523:3:84"
                                },
                                "nativeSrc": "20523:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20523:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "20517:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "20517:2:84"
                            },
                            "nativeSrc": "20517:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20517:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "20503:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "20503:2:84"
                        },
                        "nativeSrc": "20503:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20503:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20496:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20496:6:84"
                    },
                    "nativeSrc": "20496:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20496:45:84"
                  },
                  "nativeSrc": "20493:71:84",
                  "nodeType": "YulIf",
                  "src": "20493:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "20402:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20433:1:84",
                "nodeType": "YulTypedName",
                "src": "20433:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20436:1:84",
                "nodeType": "YulTypedName",
                "src": "20436:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "20442:7:84",
                "nodeType": "YulTypedName",
                "src": "20442:7:84",
                "type": ""
              }
            ],
            "src": "20402:168:84"
          },
          {
            "body": {
              "nativeSrc": "20623:77:84",
              "nodeType": "YulBlock",
              "src": "20623:77:84",
              "statements": [
                {
                  "nativeSrc": "20633:16:84",
                  "nodeType": "YulAssignment",
                  "src": "20633:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20644:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20644:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20647:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20647:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20640:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20640:3:84"
                    },
                    "nativeSrc": "20640:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20640:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20633:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20633:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20672:22:84",
                    "nodeType": "YulBlock",
                    "src": "20672:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20674:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20674:16:84"
                          },
                          "nativeSrc": "20674:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20674:18:84"
                        },
                        "nativeSrc": "20674:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20674:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20664:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20664:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "20667:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20667:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20661:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20661:2:84"
                    },
                    "nativeSrc": "20661:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20661:10:84"
                  },
                  "nativeSrc": "20658:36:84",
                  "nodeType": "YulIf",
                  "src": "20658:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "20575:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20606:1:84",
                "nodeType": "YulTypedName",
                "src": "20606:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20609:1:84",
                "nodeType": "YulTypedName",
                "src": "20609:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "20615:3:84",
                "nodeType": "YulTypedName",
                "src": "20615:3:84",
                "type": ""
              }
            ],
            "src": "20575:125:84"
          },
          {
            "body": {
              "nativeSrc": "20812:223:84",
              "nodeType": "YulBlock",
              "src": "20812:223:84",
              "statements": [
                {
                  "nativeSrc": "20822:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20822:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "20861:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "20861:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20848:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20848:12:84"
                    },
                    "nativeSrc": "20848:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20848:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "20826:18:84",
                      "nodeType": "YulTypedName",
                      "src": "20826:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20963:16:84",
                    "nodeType": "YulBlock",
                    "src": "20963:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20972:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20972:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20975:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20975:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20965:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20965:6:84"
                          },
                          "nativeSrc": "20965:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20965:12:84"
                        },
                        "nativeSrc": "20965:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20965:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "20896:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "20896:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "20924:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "20924:12:84"
                                    },
                                    "nativeSrc": "20924:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20924:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "20940:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20940:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "20920:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20920:3:84"
                                },
                                "nativeSrc": "20920:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20920:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20955:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "20955:3:84",
                                    "type": "",
                                    "value": "126"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "20951:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20951:3:84"
                                },
                                "nativeSrc": "20951:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20951:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20916:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20916:3:84"
                            },
                            "nativeSrc": "20916:44:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20916:44:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "20892:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20892:3:84"
                        },
                        "nativeSrc": "20892:69:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20892:69:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20885:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20885:6:84"
                    },
                    "nativeSrc": "20885:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20885:77:84"
                  },
                  "nativeSrc": "20882:97:84",
                  "nodeType": "YulIf",
                  "src": "20882:97:84"
                },
                {
                  "nativeSrc": "20988:41:84",
                  "nodeType": "YulAssignment",
                  "src": "20988:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "21000:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "21000:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "21010:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "21010:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20996:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20996:3:84"
                    },
                    "nativeSrc": "20996:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20996:33:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "20988:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20988:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr",
            "nativeSrc": "20705:330:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "20777:8:84",
                "nodeType": "YulTypedName",
                "src": "20777:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "20787:11:84",
                "nodeType": "YulTypedName",
                "src": "20787:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "20803:4:84",
                "nodeType": "YulTypedName",
                "src": "20803:4:84",
                "type": ""
              }
            ],
            "src": "20705:330:84"
          },
          {
            "body": {
              "nativeSrc": "21164:97:84",
              "nodeType": "YulBlock",
              "src": "21164:97:84",
              "statements": [
                {
                  "nativeSrc": "21174:26:84",
                  "nodeType": "YulAssignment",
                  "src": "21174:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21186:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21186:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21197:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21197:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21182:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21182:3:84"
                    },
                    "nativeSrc": "21182:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21182:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21174:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21174:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21237:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21237:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "21245:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21245:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "21209:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21209:27:84"
                    },
                    "nativeSrc": "21209:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21209:46:84"
                  },
                  "nativeSrc": "21209:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21209:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "21040:221:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21133:9:84",
                "nodeType": "YulTypedName",
                "src": "21133:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21144:6:84",
                "nodeType": "YulTypedName",
                "src": "21144:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21155:4:84",
                "nodeType": "YulTypedName",
                "src": "21155:4:84",
                "type": ""
              }
            ],
            "src": "21040:221:84"
          },
          {
            "body": {
              "nativeSrc": "21330:425:84",
              "nodeType": "YulBlock",
              "src": "21330:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21379:16:84",
                    "nodeType": "YulBlock",
                    "src": "21379:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21388:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21388:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21391:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21391:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21381:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21381:6:84"
                          },
                          "nativeSrc": "21381:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21381:12:84"
                        },
                        "nativeSrc": "21381:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21381:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21358:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21358:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21366:4:84",
                                "nodeType": "YulLiteral",
                                "src": "21366:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21354:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21354:3:84"
                            },
                            "nativeSrc": "21354:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21354:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "21373:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "21373:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21350:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21350:3:84"
                        },
                        "nativeSrc": "21350:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21350:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21343:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21343:6:84"
                    },
                    "nativeSrc": "21343:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21343:35:84"
                  },
                  "nativeSrc": "21340:55:84",
                  "nodeType": "YulIf",
                  "src": "21340:55:84"
                },
                {
                  "nativeSrc": "21404:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21404:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21420:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21420:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21414:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21414:5:84"
                    },
                    "nativeSrc": "21414:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21414:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21408:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21408:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21436:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21436:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "21446:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21446:27:84"
                    },
                    "nativeSrc": "21446:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21446:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "21440:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21440:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21486:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21486:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21506:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21506:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21500:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21500:5:84"
                    },
                    "nativeSrc": "21500:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21500:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "21490:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21490:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21538:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21538:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "21546:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21546:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "21518:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "21518:19:84"
                    },
                    "nativeSrc": "21518:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21518:31:84"
                  },
                  "nativeSrc": "21518:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21518:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21565:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21565:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21573:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21573:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21558:6:84"
                    },
                    "nativeSrc": "21558:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21558:18:84"
                  },
                  "nativeSrc": "21558:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21558:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "21624:16:84",
                    "nodeType": "YulBlock",
                    "src": "21624:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21633:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21633:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21636:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21636:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21626:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21626:6:84"
                          },
                          "nativeSrc": "21626:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21626:12:84"
                        },
                        "nativeSrc": "21626:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21626:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21599:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21599:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "21607:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "21607:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21595:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21595:3:84"
                            },
                            "nativeSrc": "21595:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21595:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21612:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21612:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21591:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21591:3:84"
                        },
                        "nativeSrc": "21591:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21591:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "21619:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "21619:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21588:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21588:2:84"
                    },
                    "nativeSrc": "21588:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21588:35:84"
                  },
                  "nativeSrc": "21585:55:84",
                  "nodeType": "YulIf",
                  "src": "21585:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "21688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21688:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21696:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21696:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21684:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21684:3:84"
                        },
                        "nativeSrc": "21684:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21684:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "21707:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21707:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21715:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21715:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21703:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21703:3:84"
                        },
                        "nativeSrc": "21703:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21703:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21722:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21722:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "21649:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "21649:34:84"
                    },
                    "nativeSrc": "21649:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21649:76:84"
                  },
                  "nativeSrc": "21649:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21649:76:84"
                },
                {
                  "nativeSrc": "21734:15:84",
                  "nodeType": "YulAssignment",
                  "src": "21734:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "21743:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "21743:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "21734:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21734:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "21266:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "21304:6:84",
                "nodeType": "YulTypedName",
                "src": "21304:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "21312:3:84",
                "nodeType": "YulTypedName",
                "src": "21312:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "21320:5:84",
                "nodeType": "YulTypedName",
                "src": "21320:5:84",
                "type": ""
              }
            ],
            "src": "21266:489:84"
          },
          {
            "body": {
              "nativeSrc": "21851:246:84",
              "nodeType": "YulBlock",
              "src": "21851:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21897:16:84",
                    "nodeType": "YulBlock",
                    "src": "21897:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21906:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21906:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21909:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21909:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21899:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21899:6:84"
                          },
                          "nativeSrc": "21899:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21899:12:84"
                        },
                        "nativeSrc": "21899:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21899:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21872:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "21872:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21881:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21881:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21868:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21868:3:84"
                        },
                        "nativeSrc": "21868:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21868:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21893:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21893:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21864:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21864:3:84"
                    },
                    "nativeSrc": "21864:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21864:32:84"
                  },
                  "nativeSrc": "21861:52:84",
                  "nodeType": "YulIf",
                  "src": "21861:52:84"
                },
                {
                  "nativeSrc": "21922:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21922:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21942:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21942:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21936:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21936:5:84"
                    },
                    "nativeSrc": "21936:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21936:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "21926:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21926:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21995:16:84",
                    "nodeType": "YulBlock",
                    "src": "21995:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22004:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22004:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22007:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22007:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21997:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21997:6:84"
                          },
                          "nativeSrc": "21997:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21997:12:84"
                        },
                        "nativeSrc": "21997:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21997:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21967:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21967:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21975:18:84",
                        "nodeType": "YulLiteral",
                        "src": "21975:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21964:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21964:2:84"
                    },
                    "nativeSrc": "21964:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21964:30:84"
                  },
                  "nativeSrc": "21961:50:84",
                  "nodeType": "YulIf",
                  "src": "21961:50:84"
                },
                {
                  "nativeSrc": "22020:71:84",
                  "nodeType": "YulAssignment",
                  "src": "22020:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22063:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22063:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "22074:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22074:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22059:3:84"
                        },
                        "nativeSrc": "22059:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22059:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22083:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "22083:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "22030:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "22030:28:84"
                    },
                    "nativeSrc": "22030:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22030:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22020:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22020:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "21760:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21817:9:84",
                "nodeType": "YulTypedName",
                "src": "21817:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21828:7:84",
                "nodeType": "YulTypedName",
                "src": "21828:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21840:6:84",
                "nodeType": "YulTypedName",
                "src": "21840:6:84",
                "type": ""
              }
            ],
            "src": "21760:337:84"
          },
          {
            "body": {
              "nativeSrc": "22251:141:84",
              "nodeType": "YulBlock",
              "src": "22251:141:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22268:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22268:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "22279:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22279:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22261:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22261:6:84"
                    },
                    "nativeSrc": "22261:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22261:25:84"
                  },
                  "nativeSrc": "22261:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22261:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22306:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22306:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22317:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22317:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22302:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22302:3:84"
                        },
                        "nativeSrc": "22302:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22302:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22322:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22322:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22295:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22295:6:84"
                    },
                    "nativeSrc": "22295:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22295:30:84"
                  },
                  "nativeSrc": "22295:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22295:30:84"
                },
                {
                  "nativeSrc": "22334:52:84",
                  "nodeType": "YulAssignment",
                  "src": "22334:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22359:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22359:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22371:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22371:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22382:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22382:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22367:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22367:3:84"
                        },
                        "nativeSrc": "22367:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22367:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "22342:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "22342:16:84"
                    },
                    "nativeSrc": "22342:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22342:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22334:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22334:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "22102:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22212:9:84",
                "nodeType": "YulTypedName",
                "src": "22212:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22223:6:84",
                "nodeType": "YulTypedName",
                "src": "22223:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22231:6:84",
                "nodeType": "YulTypedName",
                "src": "22231:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22242:4:84",
                "nodeType": "YulTypedName",
                "src": "22242:4:84",
                "type": ""
              }
            ],
            "src": "22102:290:84"
          },
          {
            "body": {
              "nativeSrc": "22466:115:84",
              "nodeType": "YulBlock",
              "src": "22466:115:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22512:16:84",
                    "nodeType": "YulBlock",
                    "src": "22512:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22521:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22521:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22524:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22524:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22514:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22514:6:84"
                          },
                          "nativeSrc": "22514:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22514:12:84"
                        },
                        "nativeSrc": "22514:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22514:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22487:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22487:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22496:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22496:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22483:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22483:3:84"
                        },
                        "nativeSrc": "22483:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22483:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22508:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22508:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22479:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22479:3:84"
                    },
                    "nativeSrc": "22479:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22479:32:84"
                  },
                  "nativeSrc": "22476:52:84",
                  "nodeType": "YulIf",
                  "src": "22476:52:84"
                },
                {
                  "nativeSrc": "22537:38:84",
                  "nodeType": "YulAssignment",
                  "src": "22537:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22565:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22565:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "22547:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "22547:17:84"
                    },
                    "nativeSrc": "22547:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22547:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22537:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22537:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "22397:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22432:9:84",
                "nodeType": "YulTypedName",
                "src": "22432:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22443:7:84",
                "nodeType": "YulTypedName",
                "src": "22443:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22455:6:84",
                "nodeType": "YulTypedName",
                "src": "22455:6:84",
                "type": ""
              }
            ],
            "src": "22397:184:84"
          },
          {
            "body": {
              "nativeSrc": "22680:427:84",
              "nodeType": "YulBlock",
              "src": "22680:427:84",
              "statements": [
                {
                  "nativeSrc": "22690:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22690:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "22729:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "22729:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22716:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22716:12:84"
                    },
                    "nativeSrc": "22716:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22716:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "22694:18:84",
                      "nodeType": "YulTypedName",
                      "src": "22694:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22830:16:84",
                    "nodeType": "YulBlock",
                    "src": "22830:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22839:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22839:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22842:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22842:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22832:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22832:6:84"
                          },
                          "nativeSrc": "22832:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22832:12:84"
                        },
                        "nativeSrc": "22832:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22832:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "22764:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "22764:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "22792:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "22792:12:84"
                                    },
                                    "nativeSrc": "22792:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22792:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "22808:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "22808:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "22788:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22788:3:84"
                                },
                                "nativeSrc": "22788:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22788:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22823:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "22823:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "22819:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22819:3:84"
                                },
                                "nativeSrc": "22819:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22819:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "22784:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "22784:3:84"
                            },
                            "nativeSrc": "22784:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22784:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "22760:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22760:3:84"
                        },
                        "nativeSrc": "22760:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22760:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22753:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22753:6:84"
                    },
                    "nativeSrc": "22753:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22753:76:84"
                  },
                  "nativeSrc": "22750:96:84",
                  "nodeType": "YulIf",
                  "src": "22750:96:84"
                },
                {
                  "nativeSrc": "22855:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22855:47:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "22873:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22873:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "22883:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "22883:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22869:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22869:3:84"
                    },
                    "nativeSrc": "22869:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22869:33:84"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "22859:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22859:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22911:30:84",
                  "nodeType": "YulAssignment",
                  "src": "22911:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22934:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22934:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22921:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22921:12:84"
                    },
                    "nativeSrc": "22921:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22921:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "22911:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22911:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22984:16:84",
                    "nodeType": "YulBlock",
                    "src": "22984:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22993:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22993:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22996:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22996:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22986:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22986:6:84"
                          },
                          "nativeSrc": "22986:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22986:12:84"
                        },
                        "nativeSrc": "22986:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22986:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "22956:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22956:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22964:18:84",
                        "nodeType": "YulLiteral",
                        "src": "22964:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22953:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "22953:2:84"
                    },
                    "nativeSrc": "22953:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22953:30:84"
                  },
                  "nativeSrc": "22950:50:84",
                  "nodeType": "YulIf",
                  "src": "22950:50:84"
                },
                {
                  "nativeSrc": "23009:25:84",
                  "nodeType": "YulAssignment",
                  "src": "23009:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "23021:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23021:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23029:4:84",
                        "nodeType": "YulLiteral",
                        "src": "23029:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23017:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23017:3:84"
                    },
                    "nativeSrc": "23017:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23017:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "23009:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23009:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23085:16:84",
                    "nodeType": "YulBlock",
                    "src": "23085:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23094:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23094:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23097:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23097:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23087:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23087:6:84"
                          },
                          "nativeSrc": "23087:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23087:12:84"
                        },
                        "nativeSrc": "23087:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23087:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "23050:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23050:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "23060:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "23060:12:84"
                            },
                            "nativeSrc": "23060:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "23060:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "23076:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23076:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "23056:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23056:3:84"
                        },
                        "nativeSrc": "23056:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23056:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "23046:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23046:3:84"
                    },
                    "nativeSrc": "23046:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23046:38:84"
                  },
                  "nativeSrc": "23043:58:84",
                  "nodeType": "YulIf",
                  "src": "23043:58:84"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "22586:521:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "22637:8:84",
                "nodeType": "YulTypedName",
                "src": "22637:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "22647:11:84",
                "nodeType": "YulTypedName",
                "src": "22647:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "22663:4:84",
                "nodeType": "YulTypedName",
                "src": "22663:4:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "22669:6:84",
                "nodeType": "YulTypedName",
                "src": "22669:6:84",
                "type": ""
              }
            ],
            "src": "22586:521:84"
          },
          {
            "body": {
              "nativeSrc": "23352:233:84",
              "nodeType": "YulBlock",
              "src": "23352:233:84",
              "statements": [
                {
                  "nativeSrc": "23362:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23362:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23382:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23382:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23376:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23376:5:84"
                    },
                    "nativeSrc": "23376:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23376:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23437:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23437:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23445:4:84",
                            "nodeType": "YulLiteral",
                            "src": "23445:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23433:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23433:3:84"
                        },
                        "nativeSrc": "23433:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23433:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23452:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23452:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23457:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23457:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "23398:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "23398:34:84"
                    },
                    "nativeSrc": "23398:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23398:66:84"
                  },
                  "nativeSrc": "23398:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23398:66:84"
                },
                {
                  "nativeSrc": "23473:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23473:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23490:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23490:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23495:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23495:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23486:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23486:3:84"
                    },
                    "nativeSrc": "23486:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23486:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "23477:5:84",
                      "nodeType": "YulTypedName",
                      "src": "23477:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23518:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23518:5:84"
                      },
                      {
                        "hexValue": "3a20696e76616c6964207265706f72742064617461",
                        "kind": "string",
                        "nativeSrc": "23525:23:84",
                        "nodeType": "YulLiteral",
                        "src": "23525:23:84",
                        "type": "",
                        "value": ": invalid report data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23511:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23511:6:84"
                    },
                    "nativeSrc": "23511:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23511:38:84"
                  },
                  "nativeSrc": "23511:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23511:38:84"
                },
                {
                  "nativeSrc": "23558:21:84",
                  "nodeType": "YulAssignment",
                  "src": "23558:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23569:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23569:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23576:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23576:2:84",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23565:3:84"
                    },
                    "nativeSrc": "23565:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23565:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23558:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23558:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "23112:473:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23328:3:84",
                "nodeType": "YulTypedName",
                "src": "23328:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23333:6:84",
                "nodeType": "YulTypedName",
                "src": "23333:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23344:3:84",
                "nodeType": "YulTypedName",
                "src": "23344:3:84",
                "type": ""
              }
            ],
            "src": "23112:473:84"
          },
          {
            "body": {
              "nativeSrc": "23645:325:84",
              "nodeType": "YulBlock",
              "src": "23645:325:84",
              "statements": [
                {
                  "nativeSrc": "23655:22:84",
                  "nodeType": "YulAssignment",
                  "src": "23655:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23669:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23669:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23672:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23672:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23665:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23665:3:84"
                    },
                    "nativeSrc": "23665:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23665:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23655:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23655:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23686:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23686:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "23716:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23716:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23722:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23722:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23712:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23712:3:84"
                    },
                    "nativeSrc": "23712:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23712:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23690:18:84",
                      "nodeType": "YulTypedName",
                      "src": "23690:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23763:31:84",
                    "nodeType": "YulBlock",
                    "src": "23763:31:84",
                    "statements": [
                      {
                        "nativeSrc": "23765:27:84",
                        "nodeType": "YulAssignment",
                        "src": "23765:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "23779:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "23779:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23787:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23787:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "23775:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23775:3:84"
                          },
                          "nativeSrc": "23775:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23775:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "23765:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23765:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23743:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23743:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23736:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23736:6:84"
                    },
                    "nativeSrc": "23736:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23736:26:84"
                  },
                  "nativeSrc": "23733:61:84",
                  "nodeType": "YulIf",
                  "src": "23733:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "23853:111:84",
                    "nodeType": "YulBlock",
                    "src": "23853:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23874:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23874:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "23881:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23881:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "23886:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23886:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "23877:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "23877:3:84"
                              },
                              "nativeSrc": "23877:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "23877:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23867:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23867:6:84"
                          },
                          "nativeSrc": "23867:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23867:31:84"
                        },
                        "nativeSrc": "23867:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23867:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23918:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23918:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23921:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23921:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23911:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23911:6:84"
                          },
                          "nativeSrc": "23911:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23911:15:84"
                        },
                        "nativeSrc": "23911:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23911:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23946:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23946:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23949:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23949:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23939:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23939:6:84"
                          },
                          "nativeSrc": "23939:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23939:15:84"
                        },
                        "nativeSrc": "23939:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23939:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23809:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23809:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "23832:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23832:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23840:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23840:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "23829:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "23829:2:84"
                        },
                        "nativeSrc": "23829:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23829:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "23806:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23806:2:84"
                    },
                    "nativeSrc": "23806:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23806:38:84"
                  },
                  "nativeSrc": "23803:161:84",
                  "nodeType": "YulIf",
                  "src": "23803:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23590:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23625:4:84",
                "nodeType": "YulTypedName",
                "src": "23625:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23634:6:84",
                "nodeType": "YulTypedName",
                "src": "23634:6:84",
                "type": ""
              }
            ],
            "src": "23590:380:84"
          },
          {
            "body": {
              "nativeSrc": "24126:507:84",
              "nodeType": "YulBlock",
              "src": "24126:507:84",
              "statements": [
                {
                  "nativeSrc": "24136:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24136:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24146:2:84",
                    "nodeType": "YulLiteral",
                    "src": "24146:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24140:2:84",
                      "nodeType": "YulTypedName",
                      "src": "24140:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24157:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24157:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24175:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24175:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24186:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24186:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24171:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24171:3:84"
                    },
                    "nativeSrc": "24171:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24171:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "24161:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24161:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24205:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24205:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24216:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24216:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24198:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24198:6:84"
                    },
                    "nativeSrc": "24198:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24198:21:84"
                  },
                  "nativeSrc": "24198:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24198:21:84"
                },
                {
                  "nativeSrc": "24228:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24228:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "24239:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "24239:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "24232:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24232:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24254:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24254:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24274:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24274:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24268:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "24268:5:84"
                    },
                    "nativeSrc": "24268:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24268:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24258:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24258:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "24297:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24297:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24305:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24290:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24290:6:84"
                    },
                    "nativeSrc": "24290:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24290:22:84"
                  },
                  "nativeSrc": "24290:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24290:22:84"
                },
                {
                  "nativeSrc": "24321:25:84",
                  "nodeType": "YulAssignment",
                  "src": "24321:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24332:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24332:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24343:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24343:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24328:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24328:3:84"
                    },
                    "nativeSrc": "24328:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24328:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "24321:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24321:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24355:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24355:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24373:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24373:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24381:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24381:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24369:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24369:3:84"
                    },
                    "nativeSrc": "24369:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24369:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "24359:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24359:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24393:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24393:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24402:1:84",
                    "nodeType": "YulLiteral",
                    "src": "24402:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "24397:1:84",
                      "nodeType": "YulTypedName",
                      "src": "24397:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24461:146:84",
                    "nodeType": "YulBlock",
                    "src": "24461:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24482:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24482:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "24497:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "24497:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "24491:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24491:5:84"
                                  },
                                  "nativeSrc": "24491:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24491:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24514:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24514:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24519:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24519:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "24510:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "24510:3:84"
                                      },
                                      "nativeSrc": "24510:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "24510:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "24523:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "24523:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "24506:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24506:3:84"
                                  },
                                  "nativeSrc": "24506:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24506:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "24487:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24487:3:84"
                              },
                              "nativeSrc": "24487:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24487:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24475:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24475:6:84"
                          },
                          "nativeSrc": "24475:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24475:52:84"
                        },
                        "nativeSrc": "24475:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24475:52:84"
                      },
                      {
                        "nativeSrc": "24540:19:84",
                        "nodeType": "YulAssignment",
                        "src": "24540:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24551:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24551:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24556:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24556:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24547:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24547:3:84"
                          },
                          "nativeSrc": "24547:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24547:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "24540:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24540:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "24572:25:84",
                        "nodeType": "YulAssignment",
                        "src": "24572:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "24586:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24586:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24594:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24594:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24582:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24582:3:84"
                          },
                          "nativeSrc": "24582:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24582:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "24572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24572:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "24423:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24423:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24426:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24426:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "24420:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24420:2:84"
                    },
                    "nativeSrc": "24420:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24420:13:84"
                  },
                  "nativeSrc": "24412:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "24434:18:84",
                    "nodeType": "YulBlock",
                    "src": "24434:18:84",
                    "statements": [
                      {
                        "nativeSrc": "24436:14:84",
                        "nodeType": "YulAssignment",
                        "src": "24436:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "24445:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "24445:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24448:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24448:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24441:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24441:3:84"
                          },
                          "nativeSrc": "24441:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24441:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "24436:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "24436:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "24416:3:84",
                    "nodeType": "YulBlock",
                    "src": "24416:3:84",
                    "statements": []
                  },
                  "src": "24412:195:84"
                },
                {
                  "nativeSrc": "24616:11:84",
                  "nodeType": "YulAssignment",
                  "src": "24616:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "24624:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "24624:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24616:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24616:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "23975:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24095:9:84",
                "nodeType": "YulTypedName",
                "src": "24095:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "24106:6:84",
                "nodeType": "YulTypedName",
                "src": "24106:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24117:4:84",
                "nodeType": "YulTypedName",
                "src": "24117:4:84",
                "type": ""
              }
            ],
            "src": "23975:658:84"
          },
          {
            "body": {
              "nativeSrc": "24681:71:84",
              "nodeType": "YulBlock",
              "src": "24681:71:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24730:16:84",
                    "nodeType": "YulBlock",
                    "src": "24730:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24739:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24739:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24742:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24742:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24732:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24732:6:84"
                          },
                          "nativeSrc": "24732:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24732:12:84"
                        },
                        "nativeSrc": "24732:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24732:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24704:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24704:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24715:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24715:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24722:4:84",
                                "nodeType": "YulLiteral",
                                "src": "24722:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24711:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24711:3:84"
                            },
                            "nativeSrc": "24711:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24711:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24701:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24701:2:84"
                        },
                        "nativeSrc": "24701:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24701:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24694:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24694:6:84"
                    },
                    "nativeSrc": "24694:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24694:35:84"
                  },
                  "nativeSrc": "24691:55:84",
                  "nodeType": "YulIf",
                  "src": "24691:55:84"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "24638:114:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24670:5:84",
                "nodeType": "YulTypedName",
                "src": "24670:5:84",
                "type": ""
              }
            ],
            "src": "24638:114:84"
          },
          {
            "body": {
              "nativeSrc": "24801:85:84",
              "nodeType": "YulBlock",
              "src": "24801:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24864:16:84",
                    "nodeType": "YulBlock",
                    "src": "24864:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24873:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24873:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24876:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24876:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24866:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24866:6:84"
                          },
                          "nativeSrc": "24866:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24866:12:84"
                        },
                        "nativeSrc": "24866:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24866:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24824:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24824:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24835:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24835:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24842:18:84",
                                "nodeType": "YulLiteral",
                                "src": "24842:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24831:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24831:3:84"
                            },
                            "nativeSrc": "24831:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24831:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24821:2:84"
                        },
                        "nativeSrc": "24821:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24821:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24814:6:84"
                    },
                    "nativeSrc": "24814:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24814:49:84"
                  },
                  "nativeSrc": "24811:69:84",
                  "nodeType": "YulIf",
                  "src": "24811:69:84"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "24757:129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24790:5:84",
                "nodeType": "YulTypedName",
                "src": "24790:5:84",
                "type": ""
              }
            ],
            "src": "24757:129:84"
          },
          {
            "body": {
              "nativeSrc": "25104:416:84",
              "nodeType": "YulBlock",
              "src": "25104:416:84",
              "statements": [
                {
                  "nativeSrc": "25114:27:84",
                  "nodeType": "YulAssignment",
                  "src": "25114:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25126:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25137:3:84",
                        "nodeType": "YulLiteral",
                        "src": "25137:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25122:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25122:3:84"
                    },
                    "nativeSrc": "25122:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25122:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25114:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "25114:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25157:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25157:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "25168:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25168:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25150:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25150:6:84"
                    },
                    "nativeSrc": "25150:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25150:25:84"
                  },
                  "nativeSrc": "25150:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25150:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25195:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25195:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25206:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25206:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25191:3:84"
                        },
                        "nativeSrc": "25191:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25191:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "25211:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25211:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25184:6:84"
                    },
                    "nativeSrc": "25184:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25184:34:84"
                  },
                  "nativeSrc": "25184:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25184:34:84"
                },
                {
                  "nativeSrc": "25227:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25227:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "25253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25240:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25240:12:84"
                    },
                    "nativeSrc": "25240:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25240:20:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25231:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25231:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25292:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25292:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "25269:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "25269:22:84"
                    },
                    "nativeSrc": "25269:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25269:29:84"
                  },
                  "nativeSrc": "25269:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25269:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25318:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25318:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25329:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25329:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25314:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25314:3:84"
                        },
                        "nativeSrc": "25314:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25314:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "25338:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "25338:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25345:4:84",
                            "nodeType": "YulLiteral",
                            "src": "25345:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25334:3:84"
                        },
                        "nativeSrc": "25334:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25334:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25307:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25307:6:84"
                    },
                    "nativeSrc": "25307:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25307:44:84"
                  },
                  "nativeSrc": "25307:44:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25307:44:84"
                },
                {
                  "nativeSrc": "25360:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25360:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "25392:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25392:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25400:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25400:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25388:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25388:3:84"
                        },
                        "nativeSrc": "25388:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25388:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25375:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25375:12:84"
                    },
                    "nativeSrc": "25375:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25375:29:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "25364:7:84",
                      "nodeType": "YulTypedName",
                      "src": "25364:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "25437:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25437:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "25413:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "25413:23:84"
                    },
                    "nativeSrc": "25413:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25413:32:84"
                  },
                  "nativeSrc": "25413:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25413:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25465:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25465:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25476:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25476:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25461:3:84"
                        },
                        "nativeSrc": "25461:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25461:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "25485:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25485:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25494:18:84",
                            "nodeType": "YulLiteral",
                            "src": "25494:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25481:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25481:3:84"
                        },
                        "nativeSrc": "25481:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25481:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25454:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25454:6:84"
                    },
                    "nativeSrc": "25454:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25454:60:84"
                  },
                  "nativeSrc": "25454:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25454:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "24891:629:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25057:9:84",
                "nodeType": "YulTypedName",
                "src": "25057:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25068:6:84",
                "nodeType": "YulTypedName",
                "src": "25068:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25076:6:84",
                "nodeType": "YulTypedName",
                "src": "25076:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25084:6:84",
                "nodeType": "YulTypedName",
                "src": "25084:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25095:4:84",
                "nodeType": "YulTypedName",
                "src": "25095:4:84",
                "type": ""
              }
            ],
            "src": "24891:629:84"
          },
          {
            "body": {
              "nativeSrc": "25640:357:84",
              "nodeType": "YulBlock",
              "src": "25640:357:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25686:16:84",
                    "nodeType": "YulBlock",
                    "src": "25686:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25695:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25695:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25698:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25698:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25688:6:84"
                          },
                          "nativeSrc": "25688:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25688:12:84"
                        },
                        "nativeSrc": "25688:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25688:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "25661:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25661:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "25670:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25670:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "25657:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25657:3:84"
                        },
                        "nativeSrc": "25657:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25657:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25682:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25682:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "25653:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25653:3:84"
                    },
                    "nativeSrc": "25653:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25653:32:84"
                  },
                  "nativeSrc": "25650:52:84",
                  "nodeType": "YulIf",
                  "src": "25650:52:84"
                },
                {
                  "nativeSrc": "25711:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25711:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25730:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25730:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25724:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25724:5:84"
                    },
                    "nativeSrc": "25724:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25724:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25715:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25715:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25774:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25774:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "25749:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "25749:24:84"
                    },
                    "nativeSrc": "25749:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25749:31:84"
                  },
                  "nativeSrc": "25749:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25749:31:84"
                },
                {
                  "nativeSrc": "25789:15:84",
                  "nodeType": "YulAssignment",
                  "src": "25789:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "25799:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "25799:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "25789:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25789:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "25813:39:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25813:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25837:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25837:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25848:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25848:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25833:3:84"
                        },
                        "nativeSrc": "25833:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25833:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25827:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25827:5:84"
                    },
                    "nativeSrc": "25827:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25827:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "25817:6:84",
                      "nodeType": "YulTypedName",
                      "src": "25817:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25895:16:84",
                    "nodeType": "YulBlock",
                    "src": "25895:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25904:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25904:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25907:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25907:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25897:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25897:6:84"
                          },
                          "nativeSrc": "25897:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25897:12:84"
                        },
                        "nativeSrc": "25897:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25897:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25867:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25867:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25875:18:84",
                        "nodeType": "YulLiteral",
                        "src": "25875:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25864:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "25864:2:84"
                    },
                    "nativeSrc": "25864:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25864:30:84"
                  },
                  "nativeSrc": "25861:50:84",
                  "nodeType": "YulIf",
                  "src": "25861:50:84"
                },
                {
                  "nativeSrc": "25920:71:84",
                  "nodeType": "YulAssignment",
                  "src": "25920:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25963:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25963:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "25974:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25974:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25959:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25959:3:84"
                        },
                        "nativeSrc": "25959:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25959:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "25983:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25983:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "25930:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "25930:28:84"
                    },
                    "nativeSrc": "25930:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25930:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "25920:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25920:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "25525:472:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25598:9:84",
                "nodeType": "YulTypedName",
                "src": "25598:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "25609:7:84",
                "nodeType": "YulTypedName",
                "src": "25609:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "25621:6:84",
                "nodeType": "YulTypedName",
                "src": "25621:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25629:6:84",
                "nodeType": "YulTypedName",
                "src": "25629:6:84",
                "type": ""
              }
            ],
            "src": "25525:472:84"
          },
          {
            "body": {
              "nativeSrc": "26108:912:84",
              "nodeType": "YulBlock",
              "src": "26108:912:84",
              "statements": [
                {
                  "nativeSrc": "26118:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26118:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26128:2:84",
                    "nodeType": "YulLiteral",
                    "src": "26128:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26122:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26122:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26175:16:84",
                    "nodeType": "YulBlock",
                    "src": "26175:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26184:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26184:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26187:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26187:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26177:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26177:6:84"
                          },
                          "nativeSrc": "26177:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26177:12:84"
                        },
                        "nativeSrc": "26177:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26177:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26150:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26150:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26159:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26159:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26146:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26146:3:84"
                        },
                        "nativeSrc": "26146:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26146:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26171:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26171:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26142:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26142:3:84"
                    },
                    "nativeSrc": "26142:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26142:32:84"
                  },
                  "nativeSrc": "26139:52:84",
                  "nodeType": "YulIf",
                  "src": "26139:52:84"
                },
                {
                  "nativeSrc": "26200:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26200:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26220:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26220:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26214:5:84"
                    },
                    "nativeSrc": "26214:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26214:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26273:16:84",
                    "nodeType": "YulBlock",
                    "src": "26273:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26282:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26282:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26285:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26285:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26275:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26275:6:84"
                          },
                          "nativeSrc": "26275:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26275:12:84"
                        },
                        "nativeSrc": "26275:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26275:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26245:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26253:18:84",
                        "nodeType": "YulLiteral",
                        "src": "26253:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26242:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26242:2:84"
                    },
                    "nativeSrc": "26242:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26242:30:84"
                  },
                  "nativeSrc": "26239:50:84",
                  "nodeType": "YulIf",
                  "src": "26239:50:84"
                },
                {
                  "nativeSrc": "26298:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26298:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26312:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26312:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "26323:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26323:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26308:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26308:3:84"
                    },
                    "nativeSrc": "26308:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26308:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26302:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26302:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26378:16:84",
                    "nodeType": "YulBlock",
                    "src": "26378:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26387:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26387:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26390:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26390:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26380:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26380:6:84"
                          },
                          "nativeSrc": "26380:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26380:12:84"
                        },
                        "nativeSrc": "26380:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26380:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "26357:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26357:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26361:4:84",
                                "nodeType": "YulLiteral",
                                "src": "26361:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26353:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26353:3:84"
                            },
                            "nativeSrc": "26353:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26353:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26368:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26368:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26349:3:84"
                        },
                        "nativeSrc": "26349:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26349:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26342:6:84"
                    },
                    "nativeSrc": "26342:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26342:35:84"
                  },
                  "nativeSrc": "26339:55:84",
                  "nodeType": "YulIf",
                  "src": "26339:55:84"
                },
                {
                  "nativeSrc": "26403:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26403:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26419:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26419:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26413:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26413:5:84"
                    },
                    "nativeSrc": "26413:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26413:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "26407:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26407:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26431:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26431:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "26481:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26481:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "26441:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "26441:39:84"
                    },
                    "nativeSrc": "26441:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26441:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "26435:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26435:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26493:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26493:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26513:2:84",
                        "nodeType": "YulLiteral",
                        "src": "26513:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26507:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26507:5:84"
                    },
                    "nativeSrc": "26507:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26507:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26497:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26497:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26545:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26545:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "26553:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26553:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "26525:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "26525:19:84"
                    },
                    "nativeSrc": "26525:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26525:31:84"
                  },
                  "nativeSrc": "26525:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26525:31:84"
                },
                {
                  "nativeSrc": "26565:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26565:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26576:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "26576:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "26569:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26569:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26598:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26598:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "26606:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26606:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26591:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26591:6:84"
                    },
                    "nativeSrc": "26591:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26591:18:84"
                  },
                  "nativeSrc": "26591:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26591:18:84"
                },
                {
                  "nativeSrc": "26618:22:84",
                  "nodeType": "YulAssignment",
                  "src": "26618:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26629:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26629:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26637:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26637:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26625:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26625:3:84"
                    },
                    "nativeSrc": "26625:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26625:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "26618:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26618:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "26649:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26649:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "26671:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26671:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26679:1:84",
                                "nodeType": "YulLiteral",
                                "src": "26679:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "26682:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26682:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26675:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26675:3:84"
                            },
                            "nativeSrc": "26675:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26675:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26667:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26667:3:84"
                        },
                        "nativeSrc": "26667:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26667:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26688:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26688:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26663:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26663:3:84"
                    },
                    "nativeSrc": "26663:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26663:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "26653:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26653:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26723:16:84",
                    "nodeType": "YulBlock",
                    "src": "26723:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26732:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26732:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26735:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26735:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26725:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26725:6:84"
                          },
                          "nativeSrc": "26725:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26725:12:84"
                        },
                        "nativeSrc": "26725:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26725:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26706:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26706:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "26714:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "26714:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26703:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26703:2:84"
                    },
                    "nativeSrc": "26703:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26703:19:84"
                  },
                  "nativeSrc": "26700:39:84",
                  "nodeType": "YulIf",
                  "src": "26700:39:84"
                },
                {
                  "nativeSrc": "26748:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26748:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26763:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26763:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26767:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26767:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26759:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26759:3:84"
                    },
                    "nativeSrc": "26759:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26759:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "26752:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26752:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26835:154:84",
                    "nodeType": "YulBlock",
                    "src": "26835:154:84",
                    "statements": [
                      {
                        "nativeSrc": "26849:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26849:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26868:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26868:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "26862:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "26862:5:84"
                          },
                          "nativeSrc": "26862:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26862:10:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "26853:5:84",
                            "nodeType": "YulTypedName",
                            "src": "26853:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "26910:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26910:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "26885:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "26885:24:84"
                          },
                          "nativeSrc": "26885:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26885:31:84"
                        },
                        "nativeSrc": "26885:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26885:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26936:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26936:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "26941:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26941:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "26929:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26929:6:84"
                          },
                          "nativeSrc": "26929:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26929:18:84"
                        },
                        "nativeSrc": "26929:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26929:18:84"
                      },
                      {
                        "nativeSrc": "26960:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26960:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26971:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26971:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26976:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26976:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26967:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26967:3:84"
                          },
                          "nativeSrc": "26967:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26967:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "26960:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26960:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "26790:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26790:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26795:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26795:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "26787:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26787:2:84"
                    },
                    "nativeSrc": "26787:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26787:15:84"
                  },
                  "nativeSrc": "26779:210:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "26803:23:84",
                    "nodeType": "YulBlock",
                    "src": "26803:23:84",
                    "statements": [
                      {
                        "nativeSrc": "26805:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26805:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26816:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26816:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26821:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26821:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26812:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26812:3:84"
                          },
                          "nativeSrc": "26812:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26812:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "26805:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26805:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "26783:3:84",
                    "nodeType": "YulBlock",
                    "src": "26783:3:84",
                    "statements": []
                  },
                  "src": "26779:210:84"
                },
                {
                  "nativeSrc": "26998:16:84",
                  "nodeType": "YulAssignment",
                  "src": "26998:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27008:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "27008:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26998:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "26002:1018:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26074:9:84",
                "nodeType": "YulTypedName",
                "src": "26074:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26085:7:84",
                "nodeType": "YulTypedName",
                "src": "26085:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26097:6:84",
                "nodeType": "YulTypedName",
                "src": "26097:6:84",
                "type": ""
              }
            ],
            "src": "26002:1018:84"
          },
          {
            "body": {
              "nativeSrc": "27105:210:84",
              "nodeType": "YulBlock",
              "src": "27105:210:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27151:16:84",
                    "nodeType": "YulBlock",
                    "src": "27151:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27160:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27160:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27163:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27163:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27153:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27153:6:84"
                          },
                          "nativeSrc": "27153:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27153:12:84"
                        },
                        "nativeSrc": "27153:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27153:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27126:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27126:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27135:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27135:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27122:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27122:3:84"
                        },
                        "nativeSrc": "27122:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27122:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27147:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27147:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27118:3:84"
                    },
                    "nativeSrc": "27118:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27118:32:84"
                  },
                  "nativeSrc": "27115:52:84",
                  "nodeType": "YulIf",
                  "src": "27115:52:84"
                },
                {
                  "nativeSrc": "27176:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27176:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27195:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27195:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27189:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27189:5:84"
                    },
                    "nativeSrc": "27189:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27189:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27180:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27180:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27269:16:84",
                    "nodeType": "YulBlock",
                    "src": "27269:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27278:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27278:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27281:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27281:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27271:6:84"
                          },
                          "nativeSrc": "27271:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27271:12:84"
                        },
                        "nativeSrc": "27271:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27271:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "27227:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "27227:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "27238:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "27238:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27249:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27249:3:84",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27254:10:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27254:10:84",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "27245:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27245:3:84"
                                },
                                "nativeSrc": "27245:20:84",
                                "nodeType": "YulFunctionCall",
                                "src": "27245:20:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "27234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27234:3:84"
                            },
                            "nativeSrc": "27234:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27234:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "27224:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "27224:2:84"
                        },
                        "nativeSrc": "27224:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27224:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27217:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27217:6:84"
                    },
                    "nativeSrc": "27217:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27217:51:84"
                  },
                  "nativeSrc": "27214:71:84",
                  "nodeType": "YulIf",
                  "src": "27214:71:84"
                },
                {
                  "nativeSrc": "27294:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27294:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27304:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27304:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27294:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27294:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "27025:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27071:9:84",
                "nodeType": "YulTypedName",
                "src": "27071:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27082:7:84",
                "nodeType": "YulTypedName",
                "src": "27082:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27094:6:84",
                "nodeType": "YulTypedName",
                "src": "27094:6:84",
                "type": ""
              }
            ],
            "src": "27025:290:84"
          },
          {
            "body": {
              "nativeSrc": "27421:170:84",
              "nodeType": "YulBlock",
              "src": "27421:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27467:16:84",
                    "nodeType": "YulBlock",
                    "src": "27467:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27476:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27476:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27479:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27479:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27469:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27469:6:84"
                          },
                          "nativeSrc": "27469:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27469:12:84"
                        },
                        "nativeSrc": "27469:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27469:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27442:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27442:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27451:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27451:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27438:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27438:3:84"
                        },
                        "nativeSrc": "27438:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27438:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27463:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27463:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27434:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27434:3:84"
                    },
                    "nativeSrc": "27434:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27434:32:84"
                  },
                  "nativeSrc": "27431:52:84",
                  "nodeType": "YulIf",
                  "src": "27431:52:84"
                },
                {
                  "nativeSrc": "27492:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27492:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27511:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27511:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27505:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27505:5:84"
                    },
                    "nativeSrc": "27505:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27505:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27496:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27496:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27555:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27555:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27530:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27530:24:84"
                    },
                    "nativeSrc": "27530:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27530:31:84"
                  },
                  "nativeSrc": "27530:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27530:31:84"
                },
                {
                  "nativeSrc": "27570:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27570:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27580:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27580:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory",
            "nativeSrc": "27320:271:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27387:9:84",
                "nodeType": "YulTypedName",
                "src": "27387:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27398:7:84",
                "nodeType": "YulTypedName",
                "src": "27398:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27410:6:84",
                "nodeType": "YulTypedName",
                "src": "27410:6:84",
                "type": ""
              }
            ],
            "src": "27320:271:84"
          },
          {
            "body": {
              "nativeSrc": "27707:170:84",
              "nodeType": "YulBlock",
              "src": "27707:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27753:16:84",
                    "nodeType": "YulBlock",
                    "src": "27753:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27762:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27765:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27755:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27755:6:84"
                          },
                          "nativeSrc": "27755:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27755:12:84"
                        },
                        "nativeSrc": "27755:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27755:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27728:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27728:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27737:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27737:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27724:3:84"
                        },
                        "nativeSrc": "27724:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27724:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27749:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27749:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27720:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27720:3:84"
                    },
                    "nativeSrc": "27720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27720:32:84"
                  },
                  "nativeSrc": "27717:52:84",
                  "nodeType": "YulIf",
                  "src": "27717:52:84"
                },
                {
                  "nativeSrc": "27778:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27778:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27797:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27797:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27791:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27791:5:84"
                    },
                    "nativeSrc": "27791:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27791:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27782:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27782:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27841:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27841:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27816:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27816:24:84"
                    },
                    "nativeSrc": "27816:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27816:31:84"
                  },
                  "nativeSrc": "27816:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27816:31:84"
                },
                {
                  "nativeSrc": "27856:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27856:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27866:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27866:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27856:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27856:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory",
            "nativeSrc": "27596:281:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27673:9:84",
                "nodeType": "YulTypedName",
                "src": "27673:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27684:7:84",
                "nodeType": "YulTypedName",
                "src": "27684:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27696:6:84",
                "nodeType": "YulTypedName",
                "src": "27696:6:84",
                "type": ""
              }
            ],
            "src": "27596:281:84"
          },
          {
            "body": {
              "nativeSrc": "28109:351:84",
              "nodeType": "YulBlock",
              "src": "28109:351:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28126:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28141:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28141:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28157:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28157:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28162:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28162:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "28153:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28153:3:84"
                                },
                                "nativeSrc": "28153:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28153:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28166:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28166:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "28149:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28149:3:84"
                            },
                            "nativeSrc": "28149:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28149:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28137:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28137:3:84"
                        },
                        "nativeSrc": "28137:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28137:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28119:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28119:6:84"
                    },
                    "nativeSrc": "28119:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28119:51:84"
                  },
                  "nativeSrc": "28119:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28119:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28190:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28190:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28201:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28201:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28186:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28186:3:84"
                        },
                        "nativeSrc": "28186:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28186:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28206:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28206:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28179:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28179:6:84"
                    },
                    "nativeSrc": "28179:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28179:30:84"
                  },
                  "nativeSrc": "28179:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28179:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28229:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28229:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28240:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28240:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28225:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28225:3:84"
                        },
                        "nativeSrc": "28225:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28225:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28245:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28218:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28218:6:84"
                    },
                    "nativeSrc": "28218:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28218:34:84"
                  },
                  "nativeSrc": "28218:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28218:34:84"
                },
                {
                  "body": {
                    "nativeSrc": "28296:16:84",
                    "nodeType": "YulBlock",
                    "src": "28296:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28305:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28305:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28308:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28308:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28298:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28298:6:84"
                          },
                          "nativeSrc": "28298:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28298:12:84"
                        },
                        "nativeSrc": "28298:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28298:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "28267:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28267:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28283:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28283:3:84",
                                "type": "",
                                "value": "251"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28288:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28288:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28279:3:84"
                            },
                            "nativeSrc": "28279:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28279:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28292:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28292:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28275:3:84"
                        },
                        "nativeSrc": "28275:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28275:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28264:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28264:2:84"
                    },
                    "nativeSrc": "28264:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28264:31:84"
                  },
                  "nativeSrc": "28261:51:84",
                  "nodeType": "YulIf",
                  "src": "28261:51:84"
                },
                {
                  "nativeSrc": "28321:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28321:28:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28339:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28339:1:84",
                        "type": "",
                        "value": "5"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28342:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28342:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "shl",
                      "nativeSrc": "28335:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28335:3:84"
                    },
                    "nativeSrc": "28335:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28335:14:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28325:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28325:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28375:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28375:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28386:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28386:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28371:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28371:3:84"
                        },
                        "nativeSrc": "28371:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28371:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "28391:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28391:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28399:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28399:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28358:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28358:12:84"
                    },
                    "nativeSrc": "28358:48:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28358:48:84"
                  },
                  "nativeSrc": "28358:48:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28358:48:84"
                },
                {
                  "nativeSrc": "28415:39:84",
                  "nodeType": "YulAssignment",
                  "src": "28415:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28431:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28431:9:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28442:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28442:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28427:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28427:3:84"
                        },
                        "nativeSrc": "28427:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28427:22:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28451:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28451:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28423:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28423:3:84"
                    },
                    "nativeSrc": "28423:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28423:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28415:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28415:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "27882:578:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28062:9:84",
                "nodeType": "YulTypedName",
                "src": "28062:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "28073:6:84",
                "nodeType": "YulTypedName",
                "src": "28073:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28081:6:84",
                "nodeType": "YulTypedName",
                "src": "28081:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28089:6:84",
                "nodeType": "YulTypedName",
                "src": "28089:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28100:4:84",
                "nodeType": "YulTypedName",
                "src": "28100:4:84",
                "type": ""
              }
            ],
            "src": "27882:578:84"
          },
          {
            "body": {
              "nativeSrc": "28580:1080:84",
              "nodeType": "YulBlock",
              "src": "28580:1080:84",
              "statements": [
                {
                  "nativeSrc": "28590:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28590:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28600:2:84",
                    "nodeType": "YulLiteral",
                    "src": "28600:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "28594:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28594:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28647:16:84",
                    "nodeType": "YulBlock",
                    "src": "28647:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28656:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28656:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28659:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28659:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28649:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28649:6:84"
                          },
                          "nativeSrc": "28649:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28649:12:84"
                        },
                        "nativeSrc": "28649:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28649:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28622:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28622:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28631:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28631:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28618:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28618:3:84"
                        },
                        "nativeSrc": "28618:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28618:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "28643:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28643:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28614:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28614:3:84"
                    },
                    "nativeSrc": "28614:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28614:32:84"
                  },
                  "nativeSrc": "28611:52:84",
                  "nodeType": "YulIf",
                  "src": "28611:52:84"
                },
                {
                  "nativeSrc": "28672:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28672:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28692:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28692:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28686:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28686:5:84"
                    },
                    "nativeSrc": "28686:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28686:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "28676:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28676:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28711:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28711:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28721:18:84",
                    "nodeType": "YulLiteral",
                    "src": "28721:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "28715:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28715:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28766:16:84",
                    "nodeType": "YulBlock",
                    "src": "28766:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28775:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28775:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28778:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28778:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28768:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28768:6:84"
                          },
                          "nativeSrc": "28768:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28768:12:84"
                        },
                        "nativeSrc": "28768:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28768:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "28754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28754:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "28762:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28762:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28751:2:84"
                    },
                    "nativeSrc": "28751:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28751:14:84"
                  },
                  "nativeSrc": "28748:34:84",
                  "nodeType": "YulIf",
                  "src": "28748:34:84"
                },
                {
                  "nativeSrc": "28791:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28791:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28805:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28805:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "28816:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28816:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28801:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28801:3:84"
                    },
                    "nativeSrc": "28801:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28801:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "28795:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28795:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28871:16:84",
                    "nodeType": "YulBlock",
                    "src": "28871:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28880:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28883:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28883:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28873:6:84"
                          },
                          "nativeSrc": "28873:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28873:12:84"
                        },
                        "nativeSrc": "28873:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28873:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "28850:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "28850:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28854:4:84",
                                "nodeType": "YulLiteral",
                                "src": "28854:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28846:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28846:3:84"
                            },
                            "nativeSrc": "28846:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28846:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28861:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28861:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28842:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28842:3:84"
                        },
                        "nativeSrc": "28842:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28842:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28835:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28835:6:84"
                    },
                    "nativeSrc": "28835:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28835:35:84"
                  },
                  "nativeSrc": "28832:55:84",
                  "nodeType": "YulIf",
                  "src": "28832:55:84"
                },
                {
                  "nativeSrc": "28896:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28896:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "28912:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28912:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28906:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28906:5:84"
                    },
                    "nativeSrc": "28906:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28906:9:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "28900:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28900:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28924:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28924:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "28974:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28974:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "28934:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "28934:39:84"
                    },
                    "nativeSrc": "28934:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28934:43:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "28928:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28928:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28986:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28986:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "29006:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29006:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29000:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29000:5:84"
                    },
                    "nativeSrc": "29000:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29000:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "28990:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28990:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29038:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29038:6:84"
                      },
                      {
                        "name": "_5",
                        "nativeSrc": "29046:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29046:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "29018:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "29018:19:84"
                    },
                    "nativeSrc": "29018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29018:31:84"
                  },
                  "nativeSrc": "29018:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29018:31:84"
                },
                {
                  "nativeSrc": "29058:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29058:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29069:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29069:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "29062:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29062:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29091:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29091:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "29099:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29099:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29084:6:84"
                    },
                    "nativeSrc": "29084:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29084:18:84"
                  },
                  "nativeSrc": "29084:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29084:18:84"
                },
                {
                  "nativeSrc": "29111:22:84",
                  "nodeType": "YulAssignment",
                  "src": "29111:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29122:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29122:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29130:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29130:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29118:3:84"
                    },
                    "nativeSrc": "29118:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29118:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "29111:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29111:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29142:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29142:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "29164:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29164:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29172:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29172:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_4",
                                "nativeSrc": "29175:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "29175:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29168:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29168:3:84"
                            },
                            "nativeSrc": "29168:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29168:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29160:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29160:3:84"
                        },
                        "nativeSrc": "29160:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29160:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29181:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29181:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29156:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29156:3:84"
                    },
                    "nativeSrc": "29156:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29156:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "29146:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29146:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29216:16:84",
                    "nodeType": "YulBlock",
                    "src": "29216:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29225:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29225:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29228:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29228:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29218:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29218:6:84"
                          },
                          "nativeSrc": "29218:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29218:12:84"
                        },
                        "nativeSrc": "29218:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29218:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29199:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29199:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "29207:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29207:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29196:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29196:2:84"
                    },
                    "nativeSrc": "29196:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29196:19:84"
                  },
                  "nativeSrc": "29193:39:84",
                  "nodeType": "YulIf",
                  "src": "29193:39:84"
                },
                {
                  "nativeSrc": "29241:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29241:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "29256:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29256:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29252:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29252:3:84"
                    },
                    "nativeSrc": "29252:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29252:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "29245:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29245:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29328:301:84",
                    "nodeType": "YulBlock",
                    "src": "29328:301:84",
                    "statements": [
                      {
                        "nativeSrc": "29342:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29342:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29367:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29367:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "29361:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "29361:5:84"
                          },
                          "nativeSrc": "29361:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29361:10:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "29346:11:84",
                            "nodeType": "YulTypedName",
                            "src": "29346:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "29419:74:84",
                          "nodeType": "YulBlock",
                          "src": "29419:74:84",
                          "statements": [
                            {
                              "nativeSrc": "29437:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "29437:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "29447:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29447:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "29441:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "29441:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29472:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29472:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29476:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29476:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "29465:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29465:6:84"
                                },
                                "nativeSrc": "29465:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "29465:14:84"
                              },
                              "nativeSrc": "29465:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "29465:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "29390:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "29390:11:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "29403:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29403:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "29387:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29387:2:84"
                          },
                          "nativeSrc": "29387:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29387:19:84"
                        },
                        "nativeSrc": "29384:109:84",
                        "nodeType": "YulIf",
                        "src": "29384:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29513:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29513:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "29555:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29555:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "29559:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29559:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "29551:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "29551:3:84"
                                      },
                                      "nativeSrc": "29551:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "29551:20:84"
                                    },
                                    {
                                      "name": "_1",
                                      "nativeSrc": "29573:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29573:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "29547:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29547:3:84"
                                  },
                                  "nativeSrc": "29547:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29547:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "29578:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29578:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "29518:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "29518:28:84"
                              },
                              "nativeSrc": "29518:68:84",
                              "nodeType": "YulFunctionCall",
                              "src": "29518:68:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29506:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29506:6:84"
                          },
                          "nativeSrc": "29506:81:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29506:81:84"
                        },
                        "nativeSrc": "29506:81:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29506:81:84"
                      },
                      {
                        "nativeSrc": "29600:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29600:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29611:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29611:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29616:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29616:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29607:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29607:3:84"
                          },
                          "nativeSrc": "29607:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29607:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "29600:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29600:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "29283:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29283:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29288:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29288:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29280:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29280:2:84"
                    },
                    "nativeSrc": "29280:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29280:15:84"
                  },
                  "nativeSrc": "29272:357:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29296:23:84",
                    "nodeType": "YulBlock",
                    "src": "29296:23:84",
                    "statements": [
                      {
                        "nativeSrc": "29298:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29298:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29309:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29309:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29314:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29314:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29305:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29305:3:84"
                          },
                          "nativeSrc": "29305:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29305:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "29298:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29298:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29276:3:84",
                    "nodeType": "YulBlock",
                    "src": "29276:3:84",
                    "statements": []
                  },
                  "src": "29272:357:84"
                },
                {
                  "nativeSrc": "29638:16:84",
                  "nodeType": "YulAssignment",
                  "src": "29638:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29648:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29648:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29638:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29638:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "28465:1195:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28546:9:84",
                "nodeType": "YulTypedName",
                "src": "28546:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28557:7:84",
                "nodeType": "YulTypedName",
                "src": "28557:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28569:6:84",
                "nodeType": "YulTypedName",
                "src": "28569:6:84",
                "type": ""
              }
            ],
            "src": "28465:1195:84"
          },
          {
            "body": {
              "nativeSrc": "29839:231:84",
              "nodeType": "YulBlock",
              "src": "29839:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29856:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29856:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29867:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29867:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29849:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29849:6:84"
                    },
                    "nativeSrc": "29849:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29849:21:84"
                  },
                  "nativeSrc": "29849:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29849:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29890:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29890:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29901:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29901:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29886:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29886:3:84"
                        },
                        "nativeSrc": "29886:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29886:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29906:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29906:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29879:6:84"
                    },
                    "nativeSrc": "29879:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29879:30:84"
                  },
                  "nativeSrc": "29879:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29879:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29929:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29929:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29940:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29940:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29925:3:84"
                        },
                        "nativeSrc": "29925:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29925:18:84"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "29945:34:84",
                        "nodeType": "YulLiteral",
                        "src": "29945:34:84",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29918:6:84"
                    },
                    "nativeSrc": "29918:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29918:62:84"
                  },
                  "nativeSrc": "29918:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29918:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30000:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30000:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30011:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30011:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29996:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29996:3:84"
                        },
                        "nativeSrc": "29996:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29996:18:84"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "30016:11:84",
                        "nodeType": "YulLiteral",
                        "src": "30016:11:84",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29989:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29989:6:84"
                    },
                    "nativeSrc": "29989:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29989:39:84"
                  },
                  "nativeSrc": "29989:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29989:39:84"
                },
                {
                  "nativeSrc": "30037:27:84",
                  "nodeType": "YulAssignment",
                  "src": "30037:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30060:3:84",
                        "nodeType": "YulLiteral",
                        "src": "30060:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30045:3:84"
                    },
                    "nativeSrc": "30045:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30045:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30037:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "29665:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29816:9:84",
                "nodeType": "YulTypedName",
                "src": "29816:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29830:4:84",
                "nodeType": "YulTypedName",
                "src": "29830:4:84",
                "type": ""
              }
            ],
            "src": "29665:405:84"
          },
          {
            "body": {
              "nativeSrc": "30204:145:84",
              "nodeType": "YulBlock",
              "src": "30204:145:84",
              "statements": [
                {
                  "nativeSrc": "30214:26:84",
                  "nodeType": "YulAssignment",
                  "src": "30214:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30226:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30226:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30237:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30237:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30222:3:84"
                    },
                    "nativeSrc": "30222:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30222:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30214:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30214:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30256:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30256:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30271:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30287:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30287:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30292:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30292:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "30283:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30283:3:84"
                                },
                                "nativeSrc": "30283:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30283:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30296:1:84",
                                "nodeType": "YulLiteral",
                                "src": "30296:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "30279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30279:3:84"
                            },
                            "nativeSrc": "30279:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30279:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30267:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30267:3:84"
                        },
                        "nativeSrc": "30267:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30267:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30249:6:84"
                    },
                    "nativeSrc": "30249:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30249:51:84"
                  },
                  "nativeSrc": "30249:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30249:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30320:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30320:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30331:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30331:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30316:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30316:3:84"
                        },
                        "nativeSrc": "30316:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30316:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "30336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30336:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30309:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30309:6:84"
                    },
                    "nativeSrc": "30309:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30309:34:84"
                  },
                  "nativeSrc": "30309:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30309:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
            "nativeSrc": "30075:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30165:9:84",
                "nodeType": "YulTypedName",
                "src": "30165:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30176:6:84",
                "nodeType": "YulTypedName",
                "src": "30176:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30184:6:84",
                "nodeType": "YulTypedName",
                "src": "30184:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30195:4:84",
                "nodeType": "YulTypedName",
                "src": "30195:4:84",
                "type": ""
              }
            ],
            "src": "30075:274:84"
          },
          {
            "body": {
              "nativeSrc": "30402:123:84",
              "nodeType": "YulBlock",
              "src": "30402:123:84",
              "statements": [
                {
                  "nativeSrc": "30412:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30412:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30422:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30422:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30416:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30416:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30437:35:84",
                  "nodeType": "YulAssignment",
                  "src": "30437:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30453:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30453:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30456:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30456:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30449:3:84"
                        },
                        "nativeSrc": "30449:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30449:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "30465:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30465:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30468:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30468:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30461:3:84"
                        },
                        "nativeSrc": "30461:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30461:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "30445:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30445:3:84"
                    },
                    "nativeSrc": "30445:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30445:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "30437:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30437:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30497:22:84",
                    "nodeType": "YulBlock",
                    "src": "30497:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30499:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30499:16:84"
                          },
                          "nativeSrc": "30499:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30499:18:84"
                        },
                        "nativeSrc": "30499:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30499:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "30487:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "30487:4:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30493:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30493:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30484:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30484:2:84"
                    },
                    "nativeSrc": "30484:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30484:12:84"
                  },
                  "nativeSrc": "30481:38:84",
                  "nodeType": "YulIf",
                  "src": "30481:38:84"
                }
              ]
            },
            "name": "checked_sub_t_uint16",
            "nativeSrc": "30354:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30384:1:84",
                "nodeType": "YulTypedName",
                "src": "30384:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30387:1:84",
                "nodeType": "YulTypedName",
                "src": "30387:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "30393:4:84",
                "nodeType": "YulTypedName",
                "src": "30393:4:84",
                "type": ""
              }
            ],
            "src": "30354:171:84"
          },
          {
            "body": {
              "nativeSrc": "30575:142:84",
              "nodeType": "YulBlock",
              "src": "30575:142:84",
              "statements": [
                {
                  "nativeSrc": "30585:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30585:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30595:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30595:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30589:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30589:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30610:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30610:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "30625:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30625:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30628:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30628:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "30621:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30621:3:84"
                    },
                    "nativeSrc": "30621:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30621:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "30614:3:84",
                      "nodeType": "YulTypedName",
                      "src": "30614:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30655:22:84",
                    "nodeType": "YulBlock",
                    "src": "30655:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "30657:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30657:16:84"
                          },
                          "nativeSrc": "30657:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30657:18:84"
                        },
                        "nativeSrc": "30657:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30657:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "30650:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30650:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30643:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30643:6:84"
                    },
                    "nativeSrc": "30643:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30643:11:84"
                  },
                  "nativeSrc": "30640:37:84",
                  "nodeType": "YulIf",
                  "src": "30640:37:84"
                },
                {
                  "nativeSrc": "30686:25:84",
                  "nodeType": "YulAssignment",
                  "src": "30686:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30699:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30699:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30702:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30702:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30695:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30695:3:84"
                        },
                        "nativeSrc": "30695:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30695:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "30707:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30707:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "30691:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30691:3:84"
                    },
                    "nativeSrc": "30691:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30691:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "30686:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "30686:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint16",
            "nativeSrc": "30530:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30560:1:84",
                "nodeType": "YulTypedName",
                "src": "30560:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30563:1:84",
                "nodeType": "YulTypedName",
                "src": "30563:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "30569:1:84",
                "nodeType": "YulTypedName",
                "src": "30569:1:84",
                "type": ""
              }
            ],
            "src": "30530:187:84"
          },
          {
            "body": {
              "nativeSrc": "30769:121:84",
              "nodeType": "YulBlock",
              "src": "30769:121:84",
              "statements": [
                {
                  "nativeSrc": "30779:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30779:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30789:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30789:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30783:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30783:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30804:34:84",
                  "nodeType": "YulAssignment",
                  "src": "30804:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30819:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30819:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30822:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30822:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30815:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30815:3:84"
                        },
                        "nativeSrc": "30815:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30815:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "30831:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30831:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30834:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30834:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30827:3:84"
                        },
                        "nativeSrc": "30827:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30827:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30811:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30811:3:84"
                    },
                    "nativeSrc": "30811:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30811:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "30804:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30804:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30862:22:84",
                    "nodeType": "YulBlock",
                    "src": "30862:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30864:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30864:16:84"
                          },
                          "nativeSrc": "30864:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30864:18:84"
                        },
                        "nativeSrc": "30864:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30864:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "30853:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30853:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30858:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30858:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30850:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30850:2:84"
                    },
                    "nativeSrc": "30850:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30850:11:84"
                  },
                  "nativeSrc": "30847:37:84",
                  "nodeType": "YulIf",
                  "src": "30847:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "30722:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30752:1:84",
                "nodeType": "YulTypedName",
                "src": "30752:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30755:1:84",
                "nodeType": "YulTypedName",
                "src": "30755:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "30761:3:84",
                "nodeType": "YulTypedName",
                "src": "30761:3:84",
                "type": ""
              }
            ],
            "src": "30722:168:84"
          },
          {
            "body": {
              "nativeSrc": "30975:169:84",
              "nodeType": "YulBlock",
              "src": "30975:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31021:16:84",
                    "nodeType": "YulBlock",
                    "src": "31021:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31030:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31030:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31033:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31033:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31023:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31023:6:84"
                          },
                          "nativeSrc": "31023:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31023:12:84"
                        },
                        "nativeSrc": "31023:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31023:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30996:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "30996:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31005:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31005:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30992:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30992:3:84"
                        },
                        "nativeSrc": "30992:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30992:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31017:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31017:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30988:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30988:3:84"
                    },
                    "nativeSrc": "30988:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30988:32:84"
                  },
                  "nativeSrc": "30985:52:84",
                  "nodeType": "YulIf",
                  "src": "30985:52:84"
                },
                {
                  "nativeSrc": "31046:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31046:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31065:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31065:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31059:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31059:5:84"
                    },
                    "nativeSrc": "31059:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31059:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31050:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31050:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "31108:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31108:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "31084:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "31084:23:84"
                    },
                    "nativeSrc": "31084:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31084:30:84"
                  },
                  "nativeSrc": "31084:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31084:30:84"
                },
                {
                  "nativeSrc": "31123:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31123:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31133:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31133:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31123:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31123:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16_fromMemory",
            "nativeSrc": "30895:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30941:9:84",
                "nodeType": "YulTypedName",
                "src": "30941:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30952:7:84",
                "nodeType": "YulTypedName",
                "src": "30952:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30964:6:84",
                "nodeType": "YulTypedName",
                "src": "30964:6:84",
                "type": ""
              }
            ],
            "src": "30895:249:84"
          },
          {
            "body": {
              "nativeSrc": "31227:199:84",
              "nodeType": "YulBlock",
              "src": "31227:199:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31273:16:84",
                    "nodeType": "YulBlock",
                    "src": "31273:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31282:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31282:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31285:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31285:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31275:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31275:6:84"
                          },
                          "nativeSrc": "31275:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31275:12:84"
                        },
                        "nativeSrc": "31275:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31275:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31248:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31248:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31257:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31257:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31244:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31244:3:84"
                        },
                        "nativeSrc": "31244:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31244:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31269:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31269:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31240:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31240:3:84"
                    },
                    "nativeSrc": "31240:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31240:32:84"
                  },
                  "nativeSrc": "31237:52:84",
                  "nodeType": "YulIf",
                  "src": "31237:52:84"
                },
                {
                  "nativeSrc": "31298:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31298:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31317:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31317:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31311:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31311:5:84"
                    },
                    "nativeSrc": "31311:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31311:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31302:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31302:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31380:16:84",
                    "nodeType": "YulBlock",
                    "src": "31380:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31389:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31389:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31392:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31382:6:84"
                          },
                          "nativeSrc": "31382:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31382:12:84"
                        },
                        "nativeSrc": "31382:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31382:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "31349:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "31349:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "31370:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31370:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "31363:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31363:6:84"
                                },
                                "nativeSrc": "31363:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31363:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "31356:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "31356:6:84"
                            },
                            "nativeSrc": "31356:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31356:21:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "31346:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "31346:2:84"
                        },
                        "nativeSrc": "31346:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31346:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31339:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31339:6:84"
                    },
                    "nativeSrc": "31339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31339:40:84"
                  },
                  "nativeSrc": "31336:60:84",
                  "nodeType": "YulIf",
                  "src": "31336:60:84"
                },
                {
                  "nativeSrc": "31405:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31405:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31415:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31415:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31405:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31405:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "31149:277:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31193:9:84",
                "nodeType": "YulTypedName",
                "src": "31193:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31204:7:84",
                "nodeType": "YulTypedName",
                "src": "31204:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31216:6:84",
                "nodeType": "YulTypedName",
                "src": "31216:6:84",
                "type": ""
              }
            ],
            "src": "31149:277:84"
          },
          {
            "body": {
              "nativeSrc": "31486:65:84",
              "nodeType": "YulBlock",
              "src": "31486:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31503:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31503:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "31506:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31506:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31496:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31496:6:84"
                    },
                    "nativeSrc": "31496:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31496:14:84"
                  },
                  "nativeSrc": "31496:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31496:14:84"
                },
                {
                  "nativeSrc": "31519:26:84",
                  "nodeType": "YulAssignment",
                  "src": "31519:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31537:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31537:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31540:4:84",
                        "nodeType": "YulLiteral",
                        "src": "31540:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "31527:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "31527:9:84"
                    },
                    "nativeSrc": "31527:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31527:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "31519:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31519:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "31431:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "31469:3:84",
                "nodeType": "YulTypedName",
                "src": "31469:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "31477:4:84",
                "nodeType": "YulTypedName",
                "src": "31477:4:84",
                "type": ""
              }
            ],
            "src": "31431:120:84"
          },
          {
            "body": {
              "nativeSrc": "31636:462:84",
              "nodeType": "YulBlock",
              "src": "31636:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31669:423:84",
                    "nodeType": "YulBlock",
                    "src": "31669:423:84",
                    "statements": [
                      {
                        "nativeSrc": "31683:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31683:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "31693:1:84",
                          "nodeType": "YulLiteral",
                          "src": "31693:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "31687:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31687:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31714:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31714:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "31717:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31717:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31707:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31707:6:84"
                          },
                          "nativeSrc": "31707:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31707:16:84"
                        },
                        "nativeSrc": "31707:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31707:16:84"
                      },
                      {
                        "nativeSrc": "31736:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31736:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31758:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31758:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31761:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31761:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "31748:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31748:9:84"
                          },
                          "nativeSrc": "31748:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31748:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "31740:4:84",
                            "nodeType": "YulTypedName",
                            "src": "31740:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31779:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31779:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31802:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31802:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31812:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31812:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "31819:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31819:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31831:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31831:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31815:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31815:3:84"
                                  },
                                  "nativeSrc": "31815:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31815:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31808:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31808:3:84"
                              },
                              "nativeSrc": "31808:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31808:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31798:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31798:3:84"
                          },
                          "nativeSrc": "31798:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31798:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "31783:11:84",
                            "nodeType": "YulTypedName",
                            "src": "31783:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "31873:23:84",
                          "nodeType": "YulBlock",
                          "src": "31873:23:84",
                          "statements": [
                            {
                              "nativeSrc": "31875:19:84",
                              "nodeType": "YulAssignment",
                              "src": "31875:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "31890:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "31890:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "31875:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31875:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "31855:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "31855:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31867:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31867:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "31852:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31852:2:84"
                          },
                          "nativeSrc": "31852:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31852:20:84"
                        },
                        "nativeSrc": "31849:47:84",
                        "nodeType": "YulIf",
                        "src": "31849:47:84"
                      },
                      {
                        "nativeSrc": "31909:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31909:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31923:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31923:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31933:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31933:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "31940:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31940:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31945:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31945:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31936:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31936:3:84"
                                  },
                                  "nativeSrc": "31936:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31936:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31929:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31929:3:84"
                              },
                              "nativeSrc": "31929:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31929:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31919:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31919:3:84"
                          },
                          "nativeSrc": "31919:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31919:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "31913:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31913:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31963:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31963:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "31976:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "31976:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "31967:5:84",
                            "nodeType": "YulTypedName",
                            "src": "31967:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32061:21:84",
                          "nodeType": "YulBlock",
                          "src": "32061:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32070:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32070:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "32077:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32077:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "32063:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32063:6:84"
                                },
                                "nativeSrc": "32063:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32063:17:84"
                              },
                              "nativeSrc": "32063:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "32063:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "32011:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32011:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "32018:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "32018:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32008:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32008:2:84"
                          },
                          "nativeSrc": "32008:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32008:13:84"
                        },
                        "nativeSrc": "32000:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "32022:26:84",
                          "nodeType": "YulBlock",
                          "src": "32022:26:84",
                          "statements": [
                            {
                              "nativeSrc": "32024:22:84",
                              "nodeType": "YulAssignment",
                              "src": "32024:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32037:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32037:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32044:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32044:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "32033:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32033:3:84"
                                },
                                "nativeSrc": "32033:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32033:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "32024:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32024:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "32004:3:84",
                          "nodeType": "YulBlock",
                          "src": "32004:3:84",
                          "statements": []
                        },
                        "src": "32000:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31652:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31652:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31657:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31657:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31649:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31649:2:84"
                    },
                    "nativeSrc": "31649:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31649:11:84"
                  },
                  "nativeSrc": "31646:446:84",
                  "nodeType": "YulIf",
                  "src": "31646:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "31556:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "31608:5:84",
                "nodeType": "YulTypedName",
                "src": "31608:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31615:3:84",
                "nodeType": "YulTypedName",
                "src": "31615:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "31620:10:84",
                "nodeType": "YulTypedName",
                "src": "31620:10:84",
                "type": ""
              }
            ],
            "src": "31556:542:84"
          },
          {
            "body": {
              "nativeSrc": "32188:81:84",
              "nodeType": "YulBlock",
              "src": "32188:81:84",
              "statements": [
                {
                  "nativeSrc": "32198:65:84",
                  "nodeType": "YulAssignment",
                  "src": "32198:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "32213:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "32213:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32231:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32231:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "32234:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32234:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "32227:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32227:3:84"
                                    },
                                    "nativeSrc": "32227:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32227:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32244:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32244:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "32240:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32240:3:84"
                                    },
                                    "nativeSrc": "32240:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32240:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "32223:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32223:3:84"
                                },
                                "nativeSrc": "32223:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32223:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "32219:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32219:3:84"
                            },
                            "nativeSrc": "32219:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32219:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32209:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32209:3:84"
                        },
                        "nativeSrc": "32209:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32209:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "32255:1:84",
                            "nodeType": "YulLiteral",
                            "src": "32255:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "32258:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32258:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "32251:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32251:3:84"
                        },
                        "nativeSrc": "32251:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32251:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "32206:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32206:2:84"
                    },
                    "nativeSrc": "32206:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32206:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "32198:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32198:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "32103:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "32165:4:84",
                "nodeType": "YulTypedName",
                "src": "32165:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32171:3:84",
                "nodeType": "YulTypedName",
                "src": "32171:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "32179:4:84",
                "nodeType": "YulTypedName",
                "src": "32179:4:84",
                "type": ""
              }
            ],
            "src": "32103:166:84"
          },
          {
            "body": {
              "nativeSrc": "32375:1101:84",
              "nodeType": "YulBlock",
              "src": "32375:1101:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32416:22:84",
                    "nodeType": "YulBlock",
                    "src": "32416:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "32418:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "32418:16:84"
                          },
                          "nativeSrc": "32418:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32418:18:84"
                        },
                        "nativeSrc": "32418:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32418:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32391:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32391:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32396:18:84",
                        "nodeType": "YulLiteral",
                        "src": "32396:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32388:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32388:2:84"
                    },
                    "nativeSrc": "32388:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32388:27:84"
                  },
                  "nativeSrc": "32385:53:84",
                  "nodeType": "YulIf",
                  "src": "32385:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "32490:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "32490:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "32528:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32528:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "32522:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32522:5:84"
                            },
                            "nativeSrc": "32522:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32522:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "32496:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "32496:25:84"
                        },
                        "nativeSrc": "32496:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32496:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "32536:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32536:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "32447:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "32447:42:84"
                    },
                    "nativeSrc": "32447:93:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32447:93:84"
                  },
                  "nativeSrc": "32447:93:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32447:93:84"
                },
                {
                  "nativeSrc": "32549:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32549:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "32566:1:84",
                    "nodeType": "YulLiteral",
                    "src": "32566:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "32553:9:84",
                      "nodeType": "YulTypedName",
                      "src": "32553:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "32610:608:84",
                        "nodeType": "YulBlock",
                        "src": "32610:608:84",
                        "statements": [
                          {
                            "nativeSrc": "32624:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32624:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "32643:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32643:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32652:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32652:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32648:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32648:3:84"
                                  },
                                  "nativeSrc": "32648:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32648:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "32639:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32639:3:84"
                              },
                              "nativeSrc": "32639:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32639:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "32628:7:84",
                                "nodeType": "YulTypedName",
                                "src": "32628:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32669:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32669:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32712:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32712:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "32683:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "32683:28:84"
                              },
                              "nativeSrc": "32683:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32683:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "32673:6:84",
                                "nodeType": "YulTypedName",
                                "src": "32673:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32730:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32730:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "32739:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "32739:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "32734:1:84",
                                "nodeType": "YulTypedName",
                                "src": "32734:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "32818:172:84",
                              "nodeType": "YulBlock",
                              "src": "32818:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32843:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32843:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "32868:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32868:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "32873:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32873:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "32864:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "32864:3:84"
                                            },
                                            "nativeSrc": "32864:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "32864:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "32851:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32851:12:84"
                                        },
                                        "nativeSrc": "32851:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "32851:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "32836:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32836:6:84"
                                    },
                                    "nativeSrc": "32836:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32836:49:84"
                                  },
                                  "nativeSrc": "32836:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "32836:49:84"
                                },
                                {
                                  "nativeSrc": "32902:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32902:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32916:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32916:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32924:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32924:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32912:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32912:3:84"
                                    },
                                    "nativeSrc": "32912:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32912:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "32902:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32902:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "32943:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32943:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "32960:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32960:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32971:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32971:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32956:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32956:3:84"
                                    },
                                    "nativeSrc": "32956:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32956:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "32943:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32943:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "32772:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32772:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "32775:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32775:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "32769:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "32769:2:84"
                              },
                              "nativeSrc": "32769:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32769:14:84"
                            },
                            "nativeSrc": "32761:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "32784:21:84",
                              "nodeType": "YulBlock",
                              "src": "32784:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "32786:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32786:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "32795:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32795:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32798:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32798:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32791:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32791:3:84"
                                    },
                                    "nativeSrc": "32791:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32791:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "32786:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32786:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "32765:3:84",
                              "nodeType": "YulBlock",
                              "src": "32765:3:84",
                              "statements": []
                            },
                            "src": "32761:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "33035:127:84",
                              "nodeType": "YulBlock",
                              "src": "33035:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33060:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33060:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "33089:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33089:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "33094:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33094:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "33085:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33085:3:84"
                                                },
                                                "nativeSrc": "33085:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33085:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "33072:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33072:12:84"
                                            },
                                            "nativeSrc": "33072:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33072:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "33123:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "33123:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "33126:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "33126:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "33119:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "33119:3:84"
                                                        },
                                                        "nativeSrc": "33119:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "33119:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33132:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33132:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "33115:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33115:3:84"
                                                    },
                                                    "nativeSrc": "33115:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33115:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33142:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33142:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "33138:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33138:3:84"
                                                    },
                                                    "nativeSrc": "33138:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33138:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "33111:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33111:3:84"
                                                },
                                                "nativeSrc": "33111:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33111:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "33107:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33107:3:84"
                                            },
                                            "nativeSrc": "33107:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33107:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "33068:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33068:3:84"
                                        },
                                        "nativeSrc": "33068:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33068:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33053:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33053:6:84"
                                    },
                                    "nativeSrc": "33053:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33053:95:84"
                                  },
                                  "nativeSrc": "33053:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33053:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "33009:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33009:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "33018:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33018:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33006:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33006:2:84"
                              },
                              "nativeSrc": "33006:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33006:16:84"
                            },
                            "nativeSrc": "33003:159:84",
                            "nodeType": "YulIf",
                            "src": "33003:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33182:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33182:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33196:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33196:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "33199:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33199:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "33192:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33192:3:84"
                                      },
                                      "nativeSrc": "33192:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33192:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "33205:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "33205:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33188:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33188:3:84"
                                  },
                                  "nativeSrc": "33188:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33188:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33175:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33175:6:84"
                              },
                              "nativeSrc": "33175:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33175:33:84"
                            },
                            "nativeSrc": "33175:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33175:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "32603:615:84",
                      "nodeType": "YulCase",
                      "src": "32603:615:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "32608:1:84",
                        "nodeType": "YulLiteral",
                        "src": "32608:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "33235:235:84",
                        "nodeType": "YulBlock",
                        "src": "33235:235:84",
                        "statements": [
                          {
                            "nativeSrc": "33249:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33249:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "33262:1:84",
                              "nodeType": "YulLiteral",
                              "src": "33262:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "33253:5:84",
                                "nodeType": "YulTypedName",
                                "src": "33253:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33295:74:84",
                              "nodeType": "YulBlock",
                              "src": "33295:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "33313:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33313:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "33339:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33339:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "33344:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33344:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "33335:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33335:3:84"
                                        },
                                        "nativeSrc": "33335:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33335:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "33322:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33322:12:84"
                                    },
                                    "nativeSrc": "33322:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33322:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33313:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33313:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "33279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "33279:3:84"
                            },
                            "nativeSrc": "33276:93:84",
                            "nodeType": "YulIf",
                            "src": "33276:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33389:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33389:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33448:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33448:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "33455:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33455:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "33395:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33395:52:84"
                                  },
                                  "nativeSrc": "33395:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33395:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33382:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33382:6:84"
                              },
                              "nativeSrc": "33382:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33382:78:84"
                            },
                            "nativeSrc": "33382:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33382:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "33227:243:84",
                      "nodeType": "YulCase",
                      "src": "33227:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32586:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32586:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32591:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32591:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32583:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32583:2:84"
                    },
                    "nativeSrc": "32583:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32583:11:84"
                  },
                  "nativeSrc": "32576:894:84",
                  "nodeType": "YulSwitch",
                  "src": "32576:894:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "32274:1202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "32355:4:84",
                "nodeType": "YulTypedName",
                "src": "32355:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "32361:3:84",
                "nodeType": "YulTypedName",
                "src": "32361:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32366:3:84",
                "nodeType": "YulTypedName",
                "src": "32366:3:84",
                "type": ""
              }
            ],
            "src": "32274:1202:84"
          },
          {
            "body": {
              "nativeSrc": "33528:135:84",
              "nodeType": "YulBlock",
              "src": "33528:135:84",
              "statements": [
                {
                  "nativeSrc": "33538:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33538:30:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33548:20:84",
                    "nodeType": "YulLiteral",
                    "src": "33548:20:84",
                    "type": "",
                    "value": "0xffffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "33542:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33542:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33577:34:84",
                  "nodeType": "YulAssignment",
                  "src": "33577:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "33592:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "33592:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "33595:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "33595:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33588:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33588:3:84"
                        },
                        "nativeSrc": "33588:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33588:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "33604:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "33604:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "33607:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "33607:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33600:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33600:3:84"
                        },
                        "nativeSrc": "33600:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33600:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33584:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33584:3:84"
                    },
                    "nativeSrc": "33584:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33584:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "33577:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33577:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "33635:22:84",
                    "nodeType": "YulBlock",
                    "src": "33635:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "33637:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "33637:16:84"
                          },
                          "nativeSrc": "33637:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "33637:18:84"
                        },
                        "nativeSrc": "33637:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "33637:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "33626:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "33626:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "33631:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "33631:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "33623:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "33623:2:84"
                    },
                    "nativeSrc": "33623:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33623:11:84"
                  },
                  "nativeSrc": "33620:37:84",
                  "nodeType": "YulIf",
                  "src": "33620:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint72",
            "nativeSrc": "33481:182:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "33511:1:84",
                "nodeType": "YulTypedName",
                "src": "33511:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "33514:1:84",
                "nodeType": "YulTypedName",
                "src": "33514:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "33520:3:84",
                "nodeType": "YulTypedName",
                "src": "33520:3:84",
                "type": ""
              }
            ],
            "src": "33481:182:84"
          },
          {
            "body": {
              "nativeSrc": "33796:146:84",
              "nodeType": "YulBlock",
              "src": "33796:146:84",
              "statements": [
                {
                  "nativeSrc": "33806:26:84",
                  "nodeType": "YulAssignment",
                  "src": "33806:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33818:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33818:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33829:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33829:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33814:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33814:3:84"
                    },
                    "nativeSrc": "33814:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33814:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33806:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33806:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33848:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33848:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "33859:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33859:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33841:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33841:6:84"
                    },
                    "nativeSrc": "33841:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33841:25:84"
                  },
                  "nativeSrc": "33841:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33841:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33886:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33886:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33897:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33897:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33882:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33882:3:84"
                        },
                        "nativeSrc": "33882:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33882:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "33906:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "33906:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33914:20:84",
                            "nodeType": "YulLiteral",
                            "src": "33914:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33902:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33902:3:84"
                        },
                        "nativeSrc": "33902:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33902:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33875:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33875:6:84"
                    },
                    "nativeSrc": "33875:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33875:61:84"
                  },
                  "nativeSrc": "33875:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33875:61:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "33668:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33757:9:84",
                "nodeType": "YulTypedName",
                "src": "33757:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33768:6:84",
                "nodeType": "YulTypedName",
                "src": "33768:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33776:6:84",
                "nodeType": "YulTypedName",
                "src": "33776:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33787:4:84",
                "nodeType": "YulTypedName",
                "src": "33787:4:84",
                "type": ""
              }
            ],
            "src": "33668:274:84"
          },
          {
            "body": {
              "nativeSrc": "34104:162:84",
              "nodeType": "YulBlock",
              "src": "34104:162:84",
              "statements": [
                {
                  "nativeSrc": "34114:26:84",
                  "nodeType": "YulAssignment",
                  "src": "34114:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34126:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34137:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34137:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34122:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34122:3:84"
                    },
                    "nativeSrc": "34122:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34122:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34114:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34114:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34156:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34156:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "34167:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34167:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34149:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34149:6:84"
                    },
                    "nativeSrc": "34149:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34149:25:84"
                  },
                  "nativeSrc": "34149:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34149:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34194:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34194:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34205:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34205:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34190:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34190:3:84"
                        },
                        "nativeSrc": "34190:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34190:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "34210:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34210:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34183:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34183:6:84"
                    },
                    "nativeSrc": "34183:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34183:34:84"
                  },
                  "nativeSrc": "34183:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34183:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34237:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34237:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34248:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34248:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34233:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34233:3:84"
                        },
                        "nativeSrc": "34233:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34233:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "34253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34226:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34226:6:84"
                    },
                    "nativeSrc": "34226:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34226:34:84"
                  },
                  "nativeSrc": "34226:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34226:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "33947:319:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34057:9:84",
                "nodeType": "YulTypedName",
                "src": "34057:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "34068:6:84",
                "nodeType": "YulTypedName",
                "src": "34068:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "34076:6:84",
                "nodeType": "YulTypedName",
                "src": "34076:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34084:6:84",
                "nodeType": "YulTypedName",
                "src": "34084:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34095:4:84",
                "nodeType": "YulTypedName",
                "src": "34095:4:84",
                "type": ""
              }
            ],
            "src": "33947:319:84"
          },
          {
            "body": {
              "nativeSrc": "34532:506:84",
              "nodeType": "YulBlock",
              "src": "34532:506:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34549:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34549:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "34560:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34560:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34542:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34542:6:84"
                    },
                    "nativeSrc": "34542:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34542:25:84"
                  },
                  "nativeSrc": "34542:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34542:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34587:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34587:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34598:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34598:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34583:3:84"
                        },
                        "nativeSrc": "34583:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34583:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34603:3:84",
                        "nodeType": "YulLiteral",
                        "src": "34603:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34576:6:84"
                    },
                    "nativeSrc": "34576:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34576:31:84"
                  },
                  "nativeSrc": "34576:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34576:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34627:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34627:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34638:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34638:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34623:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34623:3:84"
                        },
                        "nativeSrc": "34623:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34623:19:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "34644:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34644:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34616:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34616:6:84"
                    },
                    "nativeSrc": "34616:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34616:35:84"
                  },
                  "nativeSrc": "34616:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34616:35:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34677:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34677:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34688:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34688:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34673:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34673:3:84"
                        },
                        "nativeSrc": "34673:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34673:19:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "34694:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34694:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "34702:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34702:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "34660:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "34660:12:84"
                    },
                    "nativeSrc": "34660:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34660:49:84"
                  },
                  "nativeSrc": "34660:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34660:49:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "34733:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "34733:9:84"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "34744:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34744:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "34729:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "34729:3:84"
                            },
                            "nativeSrc": "34729:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "34729:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34753:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34753:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34725:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34725:3:84"
                        },
                        "nativeSrc": "34725:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34725:32:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34759:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34759:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34718:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34718:6:84"
                    },
                    "nativeSrc": "34718:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34718:43:84"
                  },
                  "nativeSrc": "34718:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34718:43:84"
                },
                {
                  "nativeSrc": "34770:55:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34770:55:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34784:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34784:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value2",
                                "nativeSrc": "34803:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34803:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34811:2:84",
                                "nodeType": "YulLiteral",
                                "src": "34811:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "34799:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "34799:3:84"
                            },
                            "nativeSrc": "34799:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "34799:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "34820:2:84",
                                "nodeType": "YulLiteral",
                                "src": "34820:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "34816:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "34816:3:84"
                            },
                            "nativeSrc": "34816:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "34816:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34795:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34795:3:84"
                        },
                        "nativeSrc": "34795:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34795:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34780:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34780:3:84"
                    },
                    "nativeSrc": "34780:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34780:45:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34774:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34774:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34845:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34845:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34856:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34856:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34841:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34841:3:84"
                        },
                        "nativeSrc": "34841:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34841:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "34861:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34861:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34834:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34834:6:84"
                    },
                    "nativeSrc": "34834:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34834:34:84"
                  },
                  "nativeSrc": "34834:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34834:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34888:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34888:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34899:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34899:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34884:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34884:3:84"
                        },
                        "nativeSrc": "34884:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34884:18:84"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "34904:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34904:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34877:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34877:6:84"
                    },
                    "nativeSrc": "34877:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34877:34:84"
                  },
                  "nativeSrc": "34877:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34877:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34931:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34931:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34942:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34942:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34927:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34927:3:84"
                        },
                        "nativeSrc": "34927:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34927:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "34956:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "34956:2:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "34960:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "34960:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "34952:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "34952:3:84"
                            },
                            "nativeSrc": "34952:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "34952:18:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34972:3:84",
                            "nodeType": "YulLiteral",
                            "src": "34972:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34948:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34948:3:84"
                        },
                        "nativeSrc": "34948:28:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34948:28:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34920:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34920:6:84"
                    },
                    "nativeSrc": "34920:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34920:57:84"
                  },
                  "nativeSrc": "34920:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34920:57:84"
                },
                {
                  "nativeSrc": "34986:46:84",
                  "nodeType": "YulAssignment",
                  "src": "34986:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "35011:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35011:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "35023:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35023:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35027:3:84",
                            "nodeType": "YulLiteral",
                            "src": "35027:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35019:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35019:3:84"
                        },
                        "nativeSrc": "35019:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35019:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "34994:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "34994:16:84"
                    },
                    "nativeSrc": "34994:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34994:38:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34986:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34986:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "34271:767:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34461:9:84",
                "nodeType": "YulTypedName",
                "src": "34461:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "34472:6:84",
                "nodeType": "YulTypedName",
                "src": "34472:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "34480:6:84",
                "nodeType": "YulTypedName",
                "src": "34480:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "34488:6:84",
                "nodeType": "YulTypedName",
                "src": "34488:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "34496:6:84",
                "nodeType": "YulTypedName",
                "src": "34496:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "34504:6:84",
                "nodeType": "YulTypedName",
                "src": "34504:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34512:6:84",
                "nodeType": "YulTypedName",
                "src": "34512:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34523:4:84",
                "nodeType": "YulTypedName",
                "src": "34523:4:84",
                "type": ""
              }
            ],
            "src": "34271:767:84"
          },
          {
            "body": {
              "nativeSrc": "35112:176:84",
              "nodeType": "YulBlock",
              "src": "35112:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35158:16:84",
                    "nodeType": "YulBlock",
                    "src": "35158:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35167:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35167:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35170:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35170:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35160:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35160:6:84"
                          },
                          "nativeSrc": "35160:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35160:12:84"
                        },
                        "nativeSrc": "35160:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35160:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35133:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35133:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "35142:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "35142:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35129:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35129:3:84"
                        },
                        "nativeSrc": "35129:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35129:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35154:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35154:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35125:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35125:3:84"
                    },
                    "nativeSrc": "35125:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35125:32:84"
                  },
                  "nativeSrc": "35122:52:84",
                  "nodeType": "YulIf",
                  "src": "35122:52:84"
                },
                {
                  "nativeSrc": "35183:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35183:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35209:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35209:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35196:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "35196:12:84"
                    },
                    "nativeSrc": "35196:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35196:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35187:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35187:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35252:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35252:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "35228:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "35228:23:84"
                    },
                    "nativeSrc": "35228:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35228:30:84"
                  },
                  "nativeSrc": "35228:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35228:30:84"
                },
                {
                  "nativeSrc": "35267:15:84",
                  "nodeType": "YulAssignment",
                  "src": "35267:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "35277:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "35277:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35267:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35267:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "35043:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35078:9:84",
                "nodeType": "YulTypedName",
                "src": "35078:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "35089:7:84",
                "nodeType": "YulTypedName",
                "src": "35089:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "35101:6:84",
                "nodeType": "YulTypedName",
                "src": "35101:6:84",
                "type": ""
              }
            ],
            "src": "35043:245:84"
          },
          {
            "body": {
              "nativeSrc": "35361:175:84",
              "nodeType": "YulBlock",
              "src": "35361:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35407:16:84",
                    "nodeType": "YulBlock",
                    "src": "35407:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35416:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35416:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35419:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35419:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35409:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35409:6:84"
                          },
                          "nativeSrc": "35409:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35409:12:84"
                        },
                        "nativeSrc": "35409:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35409:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35382:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35382:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "35391:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "35391:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35378:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35378:3:84"
                        },
                        "nativeSrc": "35378:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35378:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35403:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35403:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35374:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35374:3:84"
                    },
                    "nativeSrc": "35374:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35374:32:84"
                  },
                  "nativeSrc": "35371:52:84",
                  "nodeType": "YulIf",
                  "src": "35371:52:84"
                },
                {
                  "nativeSrc": "35432:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35432:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35458:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35458:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35445:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "35445:12:84"
                    },
                    "nativeSrc": "35445:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35445:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35436:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35436:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35500:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35500:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "35477:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "35477:22:84"
                    },
                    "nativeSrc": "35477:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35477:29:84"
                  },
                  "nativeSrc": "35477:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35477:29:84"
                },
                {
                  "nativeSrc": "35515:15:84",
                  "nodeType": "YulAssignment",
                  "src": "35515:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "35525:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "35525:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35515:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35515:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "35293:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "35327:9:84",
                "nodeType": "YulTypedName",
                "src": "35327:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "35338:7:84",
                "nodeType": "YulTypedName",
                "src": "35338:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "35350:6:84",
                "nodeType": "YulTypedName",
                "src": "35350:6:84",
                "type": ""
              }
            ],
            "src": "35293:243:84"
          },
          {
            "body": {
              "nativeSrc": "35588:88:84",
              "nodeType": "YulBlock",
              "src": "35588:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35619:22:84",
                    "nodeType": "YulBlock",
                    "src": "35619:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "35621:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35621:16:84"
                          },
                          "nativeSrc": "35621:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35621:18:84"
                        },
                        "nativeSrc": "35621:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35621:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35604:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35604:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "35615:1:84",
                            "nodeType": "YulLiteral",
                            "src": "35615:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "35611:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35611:3:84"
                        },
                        "nativeSrc": "35611:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35611:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "35601:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35601:2:84"
                    },
                    "nativeSrc": "35601:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35601:17:84"
                  },
                  "nativeSrc": "35598:43:84",
                  "nodeType": "YulIf",
                  "src": "35598:43:84"
                },
                {
                  "nativeSrc": "35650:20:84",
                  "nodeType": "YulAssignment",
                  "src": "35650:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35661:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35661:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35668:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35668:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35657:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35657:3:84"
                    },
                    "nativeSrc": "35657:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35657:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "35650:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35650:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "35541:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "35570:5:84",
                "nodeType": "YulTypedName",
                "src": "35570:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "35580:3:84",
                "nodeType": "YulTypedName",
                "src": "35580:3:84",
                "type": ""
              }
            ],
            "src": "35541:135:84"
          },
          {
            "body": {
              "nativeSrc": "35812:411:84",
              "nodeType": "YulBlock",
              "src": "35812:411:84",
              "statements": [
                {
                  "nativeSrc": "35822:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35822:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "35850:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35850:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "35837:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "35837:12:84"
                    },
                    "nativeSrc": "35837:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35837:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "35826:7:84",
                      "nodeType": "YulTypedName",
                      "src": "35826:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "35888:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "35888:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "35865:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "35865:22:84"
                    },
                    "nativeSrc": "35865:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35865:31:84"
                  },
                  "nativeSrc": "35865:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35865:31:84"
                },
                {
                  "nativeSrc": "35905:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35905:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "35919:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "35919:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35928:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35928:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "35915:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35915:3:84"
                    },
                    "nativeSrc": "35915:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35915:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35909:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35909:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35942:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35942:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "35958:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35958:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "35952:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35952:5:84"
                    },
                    "nativeSrc": "35952:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35952:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35946:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35946:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "35979:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35979:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "35992:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "35992:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36000:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "36000:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "35996:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "35996:3:84"
                                },
                                "nativeSrc": "35996:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "35996:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "35988:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35988:3:84"
                            },
                            "nativeSrc": "35988:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35988:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36007:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36007:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "35985:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35985:2:84"
                        },
                        "nativeSrc": "35985:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35985:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "35972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35972:6:84"
                    },
                    "nativeSrc": "35972:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35972:39:84"
                  },
                  "nativeSrc": "35972:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35972:39:84"
                },
                {
                  "nativeSrc": "36020:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36020:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "36052:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "36052:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36059:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36059:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36048:3:84"
                        },
                        "nativeSrc": "36048:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36048:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "36035:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "36035:12:84"
                    },
                    "nativeSrc": "36035:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36035:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "36024:7:84",
                      "nodeType": "YulTypedName",
                      "src": "36024:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "36096:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "36096:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "36072:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "36072:23:84"
                    },
                    "nativeSrc": "36072:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36072:32:84"
                  },
                  "nativeSrc": "36072:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36072:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "36120:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36120:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "36136:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "36136:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "36144:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "36144:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "36140:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "36140:3:84"
                                    },
                                    "nativeSrc": "36140:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "36140:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "36132:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "36132:3:84"
                                },
                                "nativeSrc": "36132:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "36132:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "36168:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "36168:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "36129:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "36129:2:84"
                            },
                            "nativeSrc": "36129:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36129:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "36181:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "36181:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "36184:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "36184:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "36177:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "36177:3:84"
                                },
                                "nativeSrc": "36177:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "36177:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36194:20:84",
                                "nodeType": "YulLiteral",
                                "src": "36194:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "36173:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36173:3:84"
                            },
                            "nativeSrc": "36173:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36173:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "36126:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36126:2:84"
                        },
                        "nativeSrc": "36126:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36126:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "36113:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36113:6:84"
                    },
                    "nativeSrc": "36113:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36113:104:84"
                  },
                  "nativeSrc": "36113:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36113:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "35681:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "35795:4:84",
                "nodeType": "YulTypedName",
                "src": "35795:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "35801:5:84",
                "nodeType": "YulTypedName",
                "src": "35801:5:84",
                "type": ""
              }
            ],
            "src": "35681:542:84"
          },
          {
            "body": {
              "nativeSrc": "36279:206:84",
              "nodeType": "YulBlock",
              "src": "36279:206:84",
              "statements": [
                {
                  "nativeSrc": "36289:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36289:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36299:18:84",
                    "nodeType": "YulLiteral",
                    "src": "36299:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36293:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36293:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36326:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36326:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "36353:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36353:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36356:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36356:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36349:3:84"
                        },
                        "nativeSrc": "36349:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36349:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "36365:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36365:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36368:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36368:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36361:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36361:3:84"
                        },
                        "nativeSrc": "36361:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36361:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "36345:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36345:3:84"
                    },
                    "nativeSrc": "36345:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36345:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "36330:11:84",
                      "nodeType": "YulTypedName",
                      "src": "36330:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36381:31:84",
                  "nodeType": "YulAssignment",
                  "src": "36381:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "36396:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "36396:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "36409:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36409:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "36392:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36392:3:84"
                    },
                    "nativeSrc": "36392:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36392:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "36381:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "36381:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36457:22:84",
                    "nodeType": "YulBlock",
                    "src": "36457:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "36459:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "36459:16:84"
                          },
                          "nativeSrc": "36459:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36459:18:84"
                        },
                        "nativeSrc": "36459:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36459:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "36434:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "36434:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "36443:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "36443:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "36431:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36431:2:84"
                        },
                        "nativeSrc": "36431:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36431:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36424:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36424:6:84"
                    },
                    "nativeSrc": "36424:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36424:32:84"
                  },
                  "nativeSrc": "36421:58:84",
                  "nodeType": "YulIf",
                  "src": "36421:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "36228:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36258:1:84",
                "nodeType": "YulTypedName",
                "src": "36258:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36261:1:84",
                "nodeType": "YulTypedName",
                "src": "36261:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "36267:7:84",
                "nodeType": "YulTypedName",
                "src": "36267:7:84",
                "type": ""
              }
            ],
            "src": "36228:257:84"
          },
          {
            "body": {
              "nativeSrc": "36660:911:84",
              "nodeType": "YulBlock",
              "src": "36660:911:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36701:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36701:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "36709:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36709:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "36670:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "36670:30:84"
                    },
                    "nativeSrc": "36670:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36670:49:84"
                  },
                  "nativeSrc": "36670:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36670:49:84"
                },
                {
                  "nativeSrc": "36728:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36728:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36738:2:84",
                    "nodeType": "YulLiteral",
                    "src": "36738:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36732:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36732:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36760:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36760:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36771:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36771:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36756:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36756:3:84"
                        },
                        "nativeSrc": "36756:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36756:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36776:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36776:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36749:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36749:6:84"
                    },
                    "nativeSrc": "36749:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36749:30:84"
                  },
                  "nativeSrc": "36749:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36749:30:84"
                },
                {
                  "nativeSrc": "36788:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36788:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36799:1:84",
                    "nodeType": "YulLiteral",
                    "src": "36799:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "36792:3:84",
                      "nodeType": "YulTypedName",
                      "src": "36792:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36809:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36809:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "36832:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36832:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "36826:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36826:5:84"
                    },
                    "nativeSrc": "36826:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36826:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "36813:9:84",
                      "nodeType": "YulTypedName",
                      "src": "36813:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36848:50:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36848:50:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "36888:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "36888:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "36862:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "36862:25:84"
                    },
                    "nativeSrc": "36862:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36862:36:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36852:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36852:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "36918:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "36918:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36929:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36929:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36914:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36914:3:84"
                        },
                        "nativeSrc": "36914:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36914:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "36934:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36934:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36907:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36907:6:84"
                    },
                    "nativeSrc": "36907:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36907:34:84"
                  },
                  "nativeSrc": "36907:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36907:34:84"
                },
                {
                  "nativeSrc": "36950:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36950:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36960:2:84",
                    "nodeType": "YulLiteral",
                    "src": "36960:2:84",
                    "type": "",
                    "value": "96"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "36954:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36954:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36971:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36971:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36981:1:84",
                    "nodeType": "YulLiteral",
                    "src": "36981:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "36975:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36975:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "37031:151:84",
                        "nodeType": "YulBlock",
                        "src": "37031:151:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "37056:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37056:9:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "37067:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "37067:2:84",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "37052:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "37052:3:84"
                                  },
                                  "nativeSrc": "37052:18:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37052:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "37076:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37076:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "37091:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "37091:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "37087:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37087:3:84"
                                      },
                                      "nativeSrc": "37087:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "37087:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "37072:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "37072:3:84"
                                  },
                                  "nativeSrc": "37072:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37072:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "37045:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "37045:6:84"
                              },
                              "nativeSrc": "37045:52:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37045:52:84"
                            },
                            "nativeSrc": "37045:52:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "37045:52:84"
                          },
                          {
                            "nativeSrc": "37110:62:84",
                            "nodeType": "YulAssignment",
                            "src": "37110:62:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "37125:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37125:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "37140:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "37140:1:84",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "37157:6:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "37157:6:84"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "37150:6:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "37150:6:84"
                                              },
                                              "nativeSrc": "37150:14:84",
                                              "nodeType": "YulFunctionCall",
                                              "src": "37150:14:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "37143:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "37143:6:84"
                                          },
                                          "nativeSrc": "37143:22:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "37143:22:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "37136:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37136:3:84"
                                      },
                                      "nativeSrc": "37136:30:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "37136:30:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "37121:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "37121:3:84"
                                  },
                                  "nativeSrc": "37121:46:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37121:46:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "37169:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "37169:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "37117:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "37117:3:84"
                              },
                              "nativeSrc": "37117:55:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37117:55:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "37110:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "37110:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "37024:158:84",
                      "nodeType": "YulCase",
                      "src": "37024:158:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "37029:1:84",
                        "nodeType": "YulLiteral",
                        "src": "37029:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "37198:347:84",
                        "nodeType": "YulBlock",
                        "src": "37198:347:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "37219:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "37219:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value1",
                                  "nativeSrc": "37222:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "37222:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "37212:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "37212:6:84"
                              },
                              "nativeSrc": "37212:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37212:17:84"
                            },
                            "nativeSrc": "37212:17:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "37212:17:84"
                          },
                          {
                            "nativeSrc": "37242:31:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "37242:31:84",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "37267:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "37267:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "37270:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "37270:2:84",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "37257:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "37257:9:84"
                              },
                              "nativeSrc": "37257:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37257:16:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "37246:7:84",
                                "nodeType": "YulTypedName",
                                "src": "37246:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "37286:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "37286:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "37295:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37295:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "37290:1:84",
                                "nodeType": "YulTypedName",
                                "src": "37290:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "37363:126:84",
                              "nodeType": "YulBlock",
                              "src": "37363:126:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "37396:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "37396:9:84"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "37407:1:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "37407:1:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "37392:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "37392:3:84"
                                            },
                                            "nativeSrc": "37392:17:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "37392:17:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "37411:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "37411:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "37388:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "37388:3:84"
                                        },
                                        "nativeSrc": "37388:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "37388:26:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "37422:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "37422:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "37416:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "37416:5:84"
                                        },
                                        "nativeSrc": "37416:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "37416:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "37381:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37381:6:84"
                                    },
                                    "nativeSrc": "37381:50:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "37381:50:84"
                                  },
                                  "nativeSrc": "37381:50:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "37381:50:84"
                                },
                                {
                                  "nativeSrc": "37448:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "37448:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "37463:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37463:7:84"
                                      },
                                      {
                                        "name": "_3",
                                        "nativeSrc": "37472:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37472:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "37459:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37459:3:84"
                                    },
                                    "nativeSrc": "37459:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "37459:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "37448:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37448:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "37320:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "37320:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "37323:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "37323:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "37317:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "37317:2:84"
                              },
                              "nativeSrc": "37317:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37317:13:84"
                            },
                            "nativeSrc": "37309:180:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "37331:19:84",
                              "nodeType": "YulBlock",
                              "src": "37331:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "37333:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "37333:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "37342:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37342:1:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "37345:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "37345:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "37338:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37338:3:84"
                                    },
                                    "nativeSrc": "37338:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "37338:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "37333:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37333:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "37313:3:84",
                              "nodeType": "YulBlock",
                              "src": "37313:3:84",
                              "statements": []
                            },
                            "src": "37309:180:84"
                          },
                          {
                            "nativeSrc": "37502:33:84",
                            "nodeType": "YulAssignment",
                            "src": "37502:33:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "37517:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37517:9:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "37528:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "37528:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "37513:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "37513:3:84"
                                  },
                                  "nativeSrc": "37513:17:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "37513:17:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "37532:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "37532:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "37509:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "37509:3:84"
                              },
                              "nativeSrc": "37509:26:84",
                              "nodeType": "YulFunctionCall",
                              "src": "37509:26:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "37502:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "37502:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "37191:354:84",
                      "nodeType": "YulCase",
                      "src": "37191:354:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "37196:1:84",
                        "nodeType": "YulLiteral",
                        "src": "37196:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "37002:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37002:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37013:1:84",
                        "nodeType": "YulLiteral",
                        "src": "37013:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "36998:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36998:3:84"
                    },
                    "nativeSrc": "36998:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36998:17:84"
                  },
                  "nativeSrc": "36991:554:84",
                  "nodeType": "YulSwitch",
                  "src": "36991:554:84"
                },
                {
                  "nativeSrc": "37554:11:84",
                  "nodeType": "YulAssignment",
                  "src": "37554:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "37562:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "37562:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37554:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37554:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "36490:1081:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36621:9:84",
                "nodeType": "YulTypedName",
                "src": "36621:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "36632:6:84",
                "nodeType": "YulTypedName",
                "src": "36632:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36640:6:84",
                "nodeType": "YulTypedName",
                "src": "36640:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "36651:4:84",
                "nodeType": "YulTypedName",
                "src": "36651:4:84",
                "type": ""
              }
            ],
            "src": "36490:1081:84"
          },
          {
            "body": {
              "nativeSrc": "37687:791:84",
              "nodeType": "YulBlock",
              "src": "37687:791:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "37733:16:84",
                    "nodeType": "YulBlock",
                    "src": "37733:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37742:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37742:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37745:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37745:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37735:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37735:6:84"
                          },
                          "nativeSrc": "37735:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37735:12:84"
                        },
                        "nativeSrc": "37735:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37735:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37708:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "37708:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "37717:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37717:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37704:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37704:3:84"
                        },
                        "nativeSrc": "37704:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37704:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37729:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37729:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37700:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37700:3:84"
                    },
                    "nativeSrc": "37700:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37700:32:84"
                  },
                  "nativeSrc": "37697:52:84",
                  "nodeType": "YulIf",
                  "src": "37697:52:84"
                },
                {
                  "nativeSrc": "37758:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37758:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37778:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37778:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37772:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37772:5:84"
                    },
                    "nativeSrc": "37772:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37772:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "37762:6:84",
                      "nodeType": "YulTypedName",
                      "src": "37762:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37797:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37797:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "37807:18:84",
                    "nodeType": "YulLiteral",
                    "src": "37807:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37801:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37801:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37852:16:84",
                    "nodeType": "YulBlock",
                    "src": "37852:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37861:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37864:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37864:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37854:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37854:6:84"
                          },
                          "nativeSrc": "37854:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37854:12:84"
                        },
                        "nativeSrc": "37854:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37854:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "37840:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37840:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37848:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37848:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37837:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "37837:2:84"
                    },
                    "nativeSrc": "37837:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37837:14:84"
                  },
                  "nativeSrc": "37834:34:84",
                  "nodeType": "YulIf",
                  "src": "37834:34:84"
                },
                {
                  "nativeSrc": "37877:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37877:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37891:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37891:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "37902:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37902:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37887:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37887:3:84"
                    },
                    "nativeSrc": "37887:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37887:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "37881:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37881:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37949:16:84",
                    "nodeType": "YulBlock",
                    "src": "37949:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37958:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37958:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37961:1:84",
                              "nodeType": "YulLiteral",
                              "src": "37961:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37951:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37951:6:84"
                          },
                          "nativeSrc": "37951:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37951:12:84"
                        },
                        "nativeSrc": "37951:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37951:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37929:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "37929:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "37938:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37938:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "37925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37925:3:84"
                        },
                        "nativeSrc": "37925:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37925:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37943:4:84",
                        "nodeType": "YulLiteral",
                        "src": "37943:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "37921:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37921:3:84"
                    },
                    "nativeSrc": "37921:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37921:27:84"
                  },
                  "nativeSrc": "37918:47:84",
                  "nodeType": "YulIf",
                  "src": "37918:47:84"
                },
                {
                  "nativeSrc": "37974:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37974:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "37994:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37988:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "37988:5:84"
                    },
                    "nativeSrc": "37988:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37988:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "37978:6:84",
                      "nodeType": "YulTypedName",
                      "src": "37978:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38008:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38008:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38030:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38030:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38038:4:84",
                        "nodeType": "YulLiteral",
                        "src": "38038:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38026:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38026:3:84"
                    },
                    "nativeSrc": "38026:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38026:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "38012:10:84",
                      "nodeType": "YulTypedName",
                      "src": "38012:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38102:22:84",
                    "nodeType": "YulBlock",
                    "src": "38102:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "38104:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "38104:16:84"
                          },
                          "nativeSrc": "38104:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38104:18:84"
                        },
                        "nativeSrc": "38104:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38104:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "38061:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "38061:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "38073:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38073:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "38058:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38058:2:84"
                        },
                        "nativeSrc": "38058:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38058:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "38081:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "38081:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "38093:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38093:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "38078:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38078:2:84"
                        },
                        "nativeSrc": "38078:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38078:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "38055:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38055:2:84"
                    },
                    "nativeSrc": "38055:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38055:46:84"
                  },
                  "nativeSrc": "38052:72:84",
                  "nodeType": "YulIf",
                  "src": "38052:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38140:4:84",
                        "nodeType": "YulLiteral",
                        "src": "38140:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "38146:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "38146:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38133:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38133:6:84"
                    },
                    "nativeSrc": "38133:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38133:24:84"
                  },
                  "nativeSrc": "38133:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38133:24:84"
                },
                {
                  "nativeSrc": "38166:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38166:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "38185:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38185:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38179:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38179:5:84"
                    },
                    "nativeSrc": "38179:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38179:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38170:5:84",
                      "nodeType": "YulTypedName",
                      "src": "38170:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38223:16:84",
                    "nodeType": "YulBlock",
                    "src": "38223:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38232:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38232:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38235:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38235:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38225:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38225:6:84"
                          },
                          "nativeSrc": "38225:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38225:12:84"
                        },
                        "nativeSrc": "38225:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38225:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "38210:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "38210:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38217:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38217:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "38207:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38207:2:84"
                        },
                        "nativeSrc": "38207:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38207:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38200:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38200:6:84"
                    },
                    "nativeSrc": "38200:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38200:22:84"
                  },
                  "nativeSrc": "38197:42:84",
                  "nodeType": "YulIf",
                  "src": "38197:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "38255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38255:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "38263:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38263:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38248:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38248:6:84"
                    },
                    "nativeSrc": "38248:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38248:21:84"
                  },
                  "nativeSrc": "38248:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38248:21:84"
                },
                {
                  "nativeSrc": "38278:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38278:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "38304:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38304:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38308:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38308:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38300:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38300:3:84"
                        },
                        "nativeSrc": "38300:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38300:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38294:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38294:5:84"
                    },
                    "nativeSrc": "38294:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38294:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "38282:8:84",
                      "nodeType": "YulTypedName",
                      "src": "38282:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38341:16:84",
                    "nodeType": "YulBlock",
                    "src": "38341:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38350:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38350:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38353:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38353:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38343:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38343:6:84"
                          },
                          "nativeSrc": "38343:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38343:12:84"
                        },
                        "nativeSrc": "38343:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38343:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "38327:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "38327:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "38337:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38337:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "38324:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38324:2:84"
                    },
                    "nativeSrc": "38324:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38324:16:84"
                  },
                  "nativeSrc": "38321:36:84",
                  "nodeType": "YulIf",
                  "src": "38321:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "38377:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38377:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38385:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38385:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38373:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38373:3:84"
                        },
                        "nativeSrc": "38373:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38373:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "38423:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38423:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "38427:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "38427:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38419:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38419:3:84"
                            },
                            "nativeSrc": "38419:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38419:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38438:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38438:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "38390:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "38390:28:84"
                        },
                        "nativeSrc": "38390:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38390:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38366:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38366:6:84"
                    },
                    "nativeSrc": "38366:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38366:81:84"
                  },
                  "nativeSrc": "38366:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38366:81:84"
                },
                {
                  "nativeSrc": "38456:16:84",
                  "nodeType": "YulAssignment",
                  "src": "38456:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "38466:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "38466:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38456:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38456:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "37576:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37653:9:84",
                "nodeType": "YulTypedName",
                "src": "37653:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "37664:7:84",
                "nodeType": "YulTypedName",
                "src": "37664:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "37676:6:84",
                "nodeType": "YulTypedName",
                "src": "37676:6:84",
                "type": ""
              }
            ],
            "src": "37576:902:84"
          },
          {
            "body": {
              "nativeSrc": "38526:136:84",
              "nodeType": "YulBlock",
              "src": "38526:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38571:85:84",
                    "nodeType": "YulBlock",
                    "src": "38571:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38600:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38600:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38603:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38603:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38606:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38606:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "38585:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "38585:14:84"
                          },
                          "nativeSrc": "38585:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38585:23:84"
                        },
                        "nativeSrc": "38585:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38585:23:84"
                      },
                      {
                        "nativeSrc": "38621:25:84",
                        "nodeType": "YulAssignment",
                        "src": "38621:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38632:3:84",
                              "nodeType": "YulLiteral",
                              "src": "38632:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "38643:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "38643:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "38637:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "38637:5:84"
                              },
                              "nativeSrc": "38637:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "38637:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "38628:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38628:3:84"
                          },
                          "nativeSrc": "38628:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38628:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "38621:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38621:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "38542:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "38542:14:84"
                        },
                        "nativeSrc": "38542:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38542:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38560:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38560:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "38539:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38539:2:84"
                    },
                    "nativeSrc": "38539:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38539:23:84"
                  },
                  "nativeSrc": "38536:120:84",
                  "nodeType": "YulIf",
                  "src": "38536:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "38483:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "38518:3:84",
                "nodeType": "YulTypedName",
                "src": "38518:3:84",
                "type": ""
              }
            ],
            "src": "38483:179:84"
          },
          {
            "body": {
              "nativeSrc": "38714:624:84",
              "nodeType": "YulBlock",
              "src": "38714:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38754:9:84",
                    "nodeType": "YulBlock",
                    "src": "38754:9:84",
                    "statements": [
                      {
                        "nativeSrc": "38756:5:84",
                        "nodeType": "YulLeave",
                        "src": "38756:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "38730:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "38730:14:84"
                        },
                        "nativeSrc": "38730:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38730:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38748:4:84",
                        "nodeType": "YulLiteral",
                        "src": "38748:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "38727:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38727:2:84"
                    },
                    "nativeSrc": "38727:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38727:26:84"
                  },
                  "nativeSrc": "38724:39:84",
                  "nodeType": "YulIf",
                  "src": "38724:39:84"
                },
                {
                  "nativeSrc": "38772:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38772:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38790:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38790:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38784:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38784:5:84"
                    },
                    "nativeSrc": "38784:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38784:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "38776:4:84",
                      "nodeType": "YulTypedName",
                      "src": "38776:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38802:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38802:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38816:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38816:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "38812:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38812:3:84"
                    },
                    "nativeSrc": "38812:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38812:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38806:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38806:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "38842:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "38842:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38848:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38848:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "38855:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "38855:14:84"
                            },
                            "nativeSrc": "38855:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38855:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "38873:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38873:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38851:3:84"
                        },
                        "nativeSrc": "38851:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38851:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "38827:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "38827:14:84"
                    },
                    "nativeSrc": "38827:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38827:50:84"
                  },
                  "nativeSrc": "38827:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38827:50:84"
                },
                {
                  "nativeSrc": "38886:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38886:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "38906:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "38906:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38900:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38900:5:84"
                    },
                    "nativeSrc": "38900:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38900:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "38890:6:84",
                      "nodeType": "YulTypedName",
                      "src": "38890:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38920:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38920:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "38930:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "38930:14:84"
                    },
                    "nativeSrc": "38930:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38930:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "38924:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38924:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38955:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38955:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "38965:18:84",
                    "nodeType": "YulLiteral",
                    "src": "38965:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "38959:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38959:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39041:9:84",
                    "nodeType": "YulBlock",
                    "src": "39041:9:84",
                    "statements": [
                      {
                        "nativeSrc": "39043:5:84",
                        "nodeType": "YulLeave",
                        "src": "39043:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "39001:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39001:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "39009:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39009:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "38998:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "38998:2:84"
                        },
                        "nativeSrc": "38998:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38998:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "39021:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "39021:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "39029:4:84",
                                "nodeType": "YulLiteral",
                                "src": "39029:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39017:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39017:3:84"
                            },
                            "nativeSrc": "39017:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39017:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "39036:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39036:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "39014:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39014:2:84"
                        },
                        "nativeSrc": "39014:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39014:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "38995:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38995:2:84"
                    },
                    "nativeSrc": "38995:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38995:45:84"
                  },
                  "nativeSrc": "38992:58:84",
                  "nodeType": "YulIf",
                  "src": "38992:58:84"
                },
                {
                  "nativeSrc": "39059:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39059:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "39074:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39074:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "39080:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39080:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39070:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39070:3:84"
                    },
                    "nativeSrc": "39070:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39070:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "39063:3:84",
                      "nodeType": "YulTypedName",
                      "src": "39063:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39096:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39096:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "39116:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39116:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39110:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39110:5:84"
                    },
                    "nativeSrc": "39110:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39110:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "39100:6:84",
                      "nodeType": "YulTypedName",
                      "src": "39100:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39147:9:84",
                    "nodeType": "YulBlock",
                    "src": "39147:9:84",
                    "statements": [
                      {
                        "nativeSrc": "39149:5:84",
                        "nodeType": "YulLeave",
                        "src": "39149:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "39135:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39135:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "39143:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39143:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39132:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39132:2:84"
                    },
                    "nativeSrc": "39132:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39132:14:84"
                  },
                  "nativeSrc": "39129:27:84",
                  "nodeType": "YulIf",
                  "src": "39129:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "39238:9:84",
                    "nodeType": "YulBlock",
                    "src": "39238:9:84",
                    "statements": [
                      {
                        "nativeSrc": "39240:5:84",
                        "nodeType": "YulLeave",
                        "src": "39240:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "39179:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "39179:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "39184:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "39184:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39175:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39175:3:84"
                            },
                            "nativeSrc": "39175:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39175:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39193:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39193:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39171:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39171:3:84"
                        },
                        "nativeSrc": "39171:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39171:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "39208:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "39208:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "39214:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39214:14:84"
                                },
                                "nativeSrc": "39214:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39214:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39204:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39204:3:84"
                            },
                            "nativeSrc": "39204:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39204:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39233:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39233:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39200:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39200:3:84"
                        },
                        "nativeSrc": "39200:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39200:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "39168:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39168:2:84"
                    },
                    "nativeSrc": "39168:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39168:69:84"
                  },
                  "nativeSrc": "39165:82:84",
                  "nodeType": "YulIf",
                  "src": "39165:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "39276:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39276:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "39290:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "39290:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "39298:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "39298:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "39286:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39286:3:84"
                            },
                            "nativeSrc": "39286:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39286:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39307:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39307:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39282:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39282:3:84"
                        },
                        "nativeSrc": "39282:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39282:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "39256:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "39256:19:84"
                    },
                    "nativeSrc": "39256:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39256:57:84"
                  },
                  "nativeSrc": "39256:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39256:57:84"
                },
                {
                  "nativeSrc": "39322:10:84",
                  "nodeType": "YulAssignment",
                  "src": "39322:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "39329:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "39329:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "39322:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39322:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "38667:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "38706:3:84",
                "nodeType": "YulTypedName",
                "src": "38706:3:84",
                "type": ""
              }
            ],
            "src": "38667:671:84"
          },
          {
            "body": {
              "nativeSrc": "39583:209:84",
              "nodeType": "YulBlock",
              "src": "39583:209:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "39600:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39600:3:84"
                      },
                      {
                        "hexValue": "5769746e65744572726f72734c69623a20",
                        "kind": "string",
                        "nativeSrc": "39605:19:84",
                        "nodeType": "YulLiteral",
                        "src": "39605:19:84",
                        "type": "",
                        "value": "WitnetErrorsLib: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39593:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39593:6:84"
                    },
                    "nativeSrc": "39593:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39593:32:84"
                  },
                  "nativeSrc": "39593:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39593:32:84"
                },
                {
                  "nativeSrc": "39634:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39634:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "39654:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39654:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39648:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39648:5:84"
                    },
                    "nativeSrc": "39648:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39648:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "39638:6:84",
                      "nodeType": "YulTypedName",
                      "src": "39638:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "39709:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39709:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39717:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39717:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39705:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39705:3:84"
                        },
                        "nativeSrc": "39705:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39705:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "39728:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39728:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39733:2:84",
                            "nodeType": "YulLiteral",
                            "src": "39733:2:84",
                            "type": "",
                            "value": "17"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39724:3:84"
                        },
                        "nativeSrc": "39724:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39724:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "39738:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39738:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "39670:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "39670:34:84"
                    },
                    "nativeSrc": "39670:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39670:75:84"
                  },
                  "nativeSrc": "39670:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39670:75:84"
                },
                {
                  "nativeSrc": "39754:32:84",
                  "nodeType": "YulAssignment",
                  "src": "39754:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "39769:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39769:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "39774:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39774:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39765:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39765:3:84"
                        },
                        "nativeSrc": "39765:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39765:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39783:2:84",
                        "nodeType": "YulLiteral",
                        "src": "39783:2:84",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39761:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39761:3:84"
                    },
                    "nativeSrc": "39761:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39761:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "39754:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39754:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "39343:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "39559:3:84",
                "nodeType": "YulTypedName",
                "src": "39559:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "39564:6:84",
                "nodeType": "YulTypedName",
                "src": "39564:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "39575:3:84",
                "nodeType": "YulTypedName",
                "src": "39575:3:84",
                "type": ""
              }
            ],
            "src": "39343:449:84"
          },
          {
            "body": {
              "nativeSrc": "39852:724:84",
              "nodeType": "YulBlock",
              "src": "39852:724:84",
              "statements": [
                {
                  "nativeSrc": "39862:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39862:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39888:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39888:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39882:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39882:5:84"
                    },
                    "nativeSrc": "39882:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39882:12:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "39866:12:84",
                      "nodeType": "YulTypedName",
                      "src": "39866:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "39910:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39910:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39915:4:84",
                        "nodeType": "YulLiteral",
                        "src": "39915:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39903:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39903:6:84"
                    },
                    "nativeSrc": "39903:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39903:17:84"
                  },
                  "nativeSrc": "39903:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39903:17:84"
                },
                {
                  "nativeSrc": "39929:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39929:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "39957:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "39957:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39951:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39951:5:84"
                    },
                    "nativeSrc": "39951:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39951:19:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "39933:14:84",
                      "nodeType": "YulTypedName",
                      "src": "39933:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "39990:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39990:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39995:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39995:4:84",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39986:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39986:3:84"
                        },
                        "nativeSrc": "39986:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39986:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40002:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40002:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39979:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39979:6:84"
                    },
                    "nativeSrc": "39979:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39979:28:84"
                  },
                  "nativeSrc": "39979:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39979:28:84"
                },
                {
                  "nativeSrc": "40016:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40016:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "40045:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "40045:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40065:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40065:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40070:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40070:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40061:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40061:3:84"
                        },
                        "nativeSrc": "40061:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40061:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "40028:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "40028:16:84"
                    },
                    "nativeSrc": "40028:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40028:47:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "40020:4:84",
                      "nodeType": "YulTypedName",
                      "src": "40020:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40095:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40095:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40100:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40100:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40091:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40091:3:84"
                        },
                        "nativeSrc": "40091:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40091:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "40116:12:84",
                                "nodeType": "YulIdentifier",
                                "src": "40116:12:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40130:4:84",
                                "nodeType": "YulLiteral",
                                "src": "40130:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40112:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40112:3:84"
                            },
                            "nativeSrc": "40112:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40112:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "40106:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "40106:5:84"
                        },
                        "nativeSrc": "40106:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40106:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40084:6:84"
                    },
                    "nativeSrc": "40084:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40084:53:84"
                  },
                  "nativeSrc": "40084:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40084:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40157:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40157:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40162:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40162:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40153:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40153:3:84"
                        },
                        "nativeSrc": "40153:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40153:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40183:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40183:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40190:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40190:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40179:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40179:3:84"
                                },
                                "nativeSrc": "40179:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40179:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40173:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40173:5:84"
                            },
                            "nativeSrc": "40173:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40173:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40198:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40198:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40169:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40169:3:84"
                        },
                        "nativeSrc": "40169:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40169:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40146:6:84"
                    },
                    "nativeSrc": "40146:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40146:58:84"
                  },
                  "nativeSrc": "40146:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40146:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40224:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40224:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40229:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40229:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40220:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40220:3:84"
                        },
                        "nativeSrc": "40220:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40220:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40250:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40250:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40257:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40257:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40246:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40246:3:84"
                                },
                                "nativeSrc": "40246:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40246:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40240:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40240:5:84"
                            },
                            "nativeSrc": "40240:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40240:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40265:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40265:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40236:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40236:3:84"
                        },
                        "nativeSrc": "40236:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40236:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40213:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40213:6:84"
                    },
                    "nativeSrc": "40213:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40213:58:84"
                  },
                  "nativeSrc": "40213:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40213:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40291:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40291:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40296:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40296:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40287:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40287:3:84"
                        },
                        "nativeSrc": "40287:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40287:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40317:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40317:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40324:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40324:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40313:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40313:3:84"
                                },
                                "nativeSrc": "40313:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40313:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40307:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40307:5:84"
                            },
                            "nativeSrc": "40307:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40307:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40332:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40332:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40303:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40303:3:84"
                        },
                        "nativeSrc": "40303:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40303:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40280:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40280:6:84"
                    },
                    "nativeSrc": "40280:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40280:58:84"
                  },
                  "nativeSrc": "40280:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40280:58:84"
                },
                {
                  "nativeSrc": "40347:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40347:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40379:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40379:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40386:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40386:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40375:3:84"
                        },
                        "nativeSrc": "40375:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40375:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40369:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40369:5:84"
                    },
                    "nativeSrc": "40369:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40369:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "40351:14:84",
                      "nodeType": "YulTypedName",
                      "src": "40351:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40401:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40401:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40411:18:84",
                    "nodeType": "YulLiteral",
                    "src": "40411:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40405:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40405:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40449:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40449:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40454:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40454:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40445:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40445:3:84"
                        },
                        "nativeSrc": "40445:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40445:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "40465:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "40465:14:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40481:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40481:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40461:3:84"
                        },
                        "nativeSrc": "40461:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40461:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40438:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40438:6:84"
                    },
                    "nativeSrc": "40438:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40438:47:84"
                  },
                  "nativeSrc": "40438:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40438:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40505:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40505:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40510:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40501:3:84"
                        },
                        "nativeSrc": "40501:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40501:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40531:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40531:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40538:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40538:4:84",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40527:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40527:3:84"
                                },
                                "nativeSrc": "40527:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40527:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40521:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40521:5:84"
                            },
                            "nativeSrc": "40521:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40521:23:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40546:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40546:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40517:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40517:3:84"
                        },
                        "nativeSrc": "40517:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40517:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40494:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40494:6:84"
                    },
                    "nativeSrc": "40494:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40494:56:84"
                  },
                  "nativeSrc": "40494:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40494:56:84"
                },
                {
                  "nativeSrc": "40559:11:84",
                  "nodeType": "YulAssignment",
                  "src": "40559:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "40566:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "40566:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "40559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40559:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "39797:779:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "39829:5:84",
                "nodeType": "YulTypedName",
                "src": "39829:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "39836:3:84",
                "nodeType": "YulTypedName",
                "src": "39836:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "39844:3:84",
                "nodeType": "YulTypedName",
                "src": "39844:3:84",
                "type": ""
              }
            ],
            "src": "39797:779:84"
          },
          {
            "body": {
              "nativeSrc": "40886:374:84",
              "nodeType": "YulBlock",
              "src": "40886:374:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40903:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "40903:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "40914:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "40914:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40896:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40896:6:84"
                    },
                    "nativeSrc": "40896:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40896:25:84"
                  },
                  "nativeSrc": "40896:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40896:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40941:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "40941:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40952:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40952:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40937:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40937:3:84"
                        },
                        "nativeSrc": "40937:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40937:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "40961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40961:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40969:18:84",
                            "nodeType": "YulLiteral",
                            "src": "40969:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40957:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40957:3:84"
                        },
                        "nativeSrc": "40957:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40957:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40930:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40930:6:84"
                    },
                    "nativeSrc": "40930:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40930:59:84"
                  },
                  "nativeSrc": "40930:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40930:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41009:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41009:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41020:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41020:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41005:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41005:3:84"
                        },
                        "nativeSrc": "41005:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41005:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41025:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41025:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40998:6:84"
                    },
                    "nativeSrc": "40998:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40998:34:84"
                  },
                  "nativeSrc": "40998:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40998:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41052:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41052:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41063:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41063:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41048:3:84"
                        },
                        "nativeSrc": "41048:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41048:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41068:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41068:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41041:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41041:6:84"
                    },
                    "nativeSrc": "41041:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41041:34:84"
                  },
                  "nativeSrc": "41041:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41041:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41117:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41117:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41129:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41129:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41140:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41140:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41125:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41125:3:84"
                        },
                        "nativeSrc": "41125:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41125:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "41084:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "41084:32:84"
                    },
                    "nativeSrc": "41084:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41084:61:84"
                  },
                  "nativeSrc": "41084:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41084:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41165:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41165:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41176:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41176:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41161:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41161:3:84"
                        },
                        "nativeSrc": "41161:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41161:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41182:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41182:3:84",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41154:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41154:6:84"
                    },
                    "nativeSrc": "41154:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41154:32:84"
                  },
                  "nativeSrc": "41154:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41154:32:84"
                },
                {
                  "nativeSrc": "41195:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41195:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "41226:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41226:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41249:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41249:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41234:3:84"
                        },
                        "nativeSrc": "41234:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41234:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41203:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41203:22:84"
                    },
                    "nativeSrc": "41203:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41203:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41195:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41195:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "40581:679:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40815:9:84",
                "nodeType": "YulTypedName",
                "src": "40815:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "40826:6:84",
                "nodeType": "YulTypedName",
                "src": "40826:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "40834:6:84",
                "nodeType": "YulTypedName",
                "src": "40834:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "40842:6:84",
                "nodeType": "YulTypedName",
                "src": "40842:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "40850:6:84",
                "nodeType": "YulTypedName",
                "src": "40850:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40858:6:84",
                "nodeType": "YulTypedName",
                "src": "40858:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40866:6:84",
                "nodeType": "YulTypedName",
                "src": "40866:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40877:4:84",
                "nodeType": "YulTypedName",
                "src": "40877:4:84",
                "type": ""
              }
            ],
            "src": "40581:679:84"
          },
          {
            "body": {
              "nativeSrc": "41522:304:84",
              "nodeType": "YulBlock",
              "src": "41522:304:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41539:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41539:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "41550:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41550:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41532:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41532:6:84"
                    },
                    "nativeSrc": "41532:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41532:25:84"
                  },
                  "nativeSrc": "41532:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41532:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41577:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41577:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41588:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41588:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41573:3:84"
                        },
                        "nativeSrc": "41573:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41573:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41597:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41597:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41605:18:84",
                            "nodeType": "YulLiteral",
                            "src": "41605:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41593:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41593:3:84"
                        },
                        "nativeSrc": "41593:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41593:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41566:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41566:6:84"
                    },
                    "nativeSrc": "41566:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41566:59:84"
                  },
                  "nativeSrc": "41566:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41566:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41645:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41645:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41656:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41656:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41641:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41641:3:84"
                        },
                        "nativeSrc": "41641:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41641:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41661:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41661:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41634:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41634:6:84"
                    },
                    "nativeSrc": "41634:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41634:34:84"
                  },
                  "nativeSrc": "41634:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41634:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41688:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41688:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41699:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41699:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41684:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41684:3:84"
                        },
                        "nativeSrc": "41684:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41684:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41704:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41704:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41677:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41677:6:84"
                    },
                    "nativeSrc": "41677:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41677:34:84"
                  },
                  "nativeSrc": "41677:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41677:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41731:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41731:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41742:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41742:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41727:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41727:3:84"
                        },
                        "nativeSrc": "41727:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41727:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41748:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41748:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41720:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41720:6:84"
                    },
                    "nativeSrc": "41720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41720:32:84"
                  },
                  "nativeSrc": "41720:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41720:32:84"
                },
                {
                  "nativeSrc": "41761:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41761:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41792:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41792:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41804:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41804:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41815:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41815:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41800:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41800:3:84"
                        },
                        "nativeSrc": "41800:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41800:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41769:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41769:22:84"
                    },
                    "nativeSrc": "41769:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41769:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41761:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41761:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "41265:561:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41459:9:84",
                "nodeType": "YulTypedName",
                "src": "41459:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41470:6:84",
                "nodeType": "YulTypedName",
                "src": "41470:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41478:6:84",
                "nodeType": "YulTypedName",
                "src": "41478:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41486:6:84",
                "nodeType": "YulTypedName",
                "src": "41486:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41494:6:84",
                "nodeType": "YulTypedName",
                "src": "41494:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41502:6:84",
                "nodeType": "YulTypedName",
                "src": "41502:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41513:4:84",
                "nodeType": "YulTypedName",
                "src": "41513:4:84",
                "type": ""
              }
            ],
            "src": "41265:561:84"
          },
          {
            "body": {
              "nativeSrc": "41880:79:84",
              "nodeType": "YulBlock",
              "src": "41880:79:84",
              "statements": [
                {
                  "nativeSrc": "41890:17:84",
                  "nodeType": "YulAssignment",
                  "src": "41890:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "41902:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41902:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "41905:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41905:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "41898:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41898:3:84"
                    },
                    "nativeSrc": "41898:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41898:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "41890:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41890:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41931:22:84",
                    "nodeType": "YulBlock",
                    "src": "41931:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "41933:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "41933:16:84"
                          },
                          "nativeSrc": "41933:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41933:18:84"
                        },
                        "nativeSrc": "41933:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41933:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "41922:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "41922:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "41928:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41928:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41919:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41919:2:84"
                    },
                    "nativeSrc": "41919:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41919:11:84"
                  },
                  "nativeSrc": "41916:37:84",
                  "nodeType": "YulIf",
                  "src": "41916:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "41831:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "41862:1:84",
                "nodeType": "YulTypedName",
                "src": "41862:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "41865:1:84",
                "nodeType": "YulTypedName",
                "src": "41865:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "41871:4:84",
                "nodeType": "YulTypedName",
                "src": "41871:4:84",
                "type": ""
              }
            ],
            "src": "41831:128:84"
          },
          {
            "body": {
              "nativeSrc": "42058:1247:84",
              "nodeType": "YulBlock",
              "src": "42058:1247:84",
              "statements": [
                {
                  "nativeSrc": "42068:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42068:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "42088:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "42088:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42082:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "42082:5:84"
                    },
                    "nativeSrc": "42082:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42082:10:84"
                  },
                  "variables": [
                    {
                      "name": "newLen",
                      "nativeSrc": "42072:6:84",
                      "nodeType": "YulTypedName",
                      "src": "42072:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42135:22:84",
                    "nodeType": "YulBlock",
                    "src": "42135:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "42137:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42137:16:84"
                          },
                          "nativeSrc": "42137:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42137:18:84"
                        },
                        "nativeSrc": "42137:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42137:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42107:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42107:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42115:18:84",
                        "nodeType": "YulLiteral",
                        "src": "42115:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42104:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42104:2:84"
                    },
                    "nativeSrc": "42104:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42104:30:84"
                  },
                  "nativeSrc": "42101:56:84",
                  "nodeType": "YulIf",
                  "src": "42101:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "42209:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42209:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "42247:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "42247:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "42241:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42241:5:84"
                            },
                            "nativeSrc": "42241:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42241:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "42215:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "42215:25:84"
                        },
                        "nativeSrc": "42215:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42215:38:84"
                      },
                      {
                        "name": "newLen",
                        "nativeSrc": "42255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42255:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "42166:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "42166:42:84"
                    },
                    "nativeSrc": "42166:96:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42166:96:84"
                  },
                  "nativeSrc": "42166:96:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42166:96:84"
                },
                {
                  "nativeSrc": "42271:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42271:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42288:1:84",
                    "nodeType": "YulLiteral",
                    "src": "42288:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42275:9:84",
                      "nodeType": "YulTypedName",
                      "src": "42275:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42298:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42298:23:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42317:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42317:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "srcOffset_1",
                      "nativeSrc": "42302:11:84",
                      "nodeType": "YulTypedName",
                      "src": "42302:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42330:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42330:17:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42343:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42343:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variableNames": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42330:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "42330:9:84"
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "42393:655:84",
                        "nodeType": "YulBlock",
                        "src": "42393:655:84",
                        "statements": [
                          {
                            "nativeSrc": "42407:35:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42407:35:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42426:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42426:6:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "42438:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "42438:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "42434:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42434:3:84"
                                  },
                                  "nativeSrc": "42434:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "42434:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "42422:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "42422:3:84"
                              },
                              "nativeSrc": "42422:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42422:20:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "42411:7:84",
                                "nodeType": "YulTypedName",
                                "src": "42411:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42455:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42455:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "42498:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42498:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "42469:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "42469:28:84"
                              },
                              "nativeSrc": "42469:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42469:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "42459:6:84",
                                "nodeType": "YulTypedName",
                                "src": "42459:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42516:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42516:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "42525:1:84",
                              "nodeType": "YulLiteral",
                              "src": "42525:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "42520:1:84",
                                "nodeType": "YulTypedName",
                                "src": "42520:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "42603:172:84",
                              "nodeType": "YulBlock",
                              "src": "42603:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42628:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42628:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "42646:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42646:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "42651:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42651:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "42642:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42642:3:84"
                                            },
                                            "nativeSrc": "42642:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42642:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "mload",
                                          "nativeSrc": "42636:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42636:5:84"
                                        },
                                        "nativeSrc": "42636:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42636:26:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42621:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42621:6:84"
                                    },
                                    "nativeSrc": "42621:42:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42621:42:84"
                                  },
                                  "nativeSrc": "42621:42:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42621:42:84"
                                },
                                {
                                  "nativeSrc": "42680:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42680:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42694:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42694:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "42702:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "42702:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42690:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42690:3:84"
                                    },
                                    "nativeSrc": "42690:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42690:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "42680:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42680:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "42721:40:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42721:40:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "42738:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42738:9:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42749:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42749:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42734:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42734:3:84"
                                    },
                                    "nativeSrc": "42734:27:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42734:27:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "42721:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42721:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "42550:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42550:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42553:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42553:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42547:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42547:2:84"
                              },
                              "nativeSrc": "42547:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42547:14:84"
                            },
                            "nativeSrc": "42539:236:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "42562:28:84",
                              "nodeType": "YulBlock",
                              "src": "42562:28:84",
                              "statements": [
                                {
                                  "nativeSrc": "42564:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42564:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "42573:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42573:1:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42576:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42576:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42569:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42569:3:84"
                                    },
                                    "nativeSrc": "42569:19:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42569:19:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "42564:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42564:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "42543:3:84",
                              "nodeType": "YulBlock",
                              "src": "42543:3:84",
                              "statements": []
                            },
                            "src": "42539:236:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "42823:166:84",
                              "nodeType": "YulBlock",
                              "src": "42823:166:84",
                              "statements": [
                                {
                                  "nativeSrc": "42841:43:84",
                                  "nodeType": "YulVariableDeclaration",
                                  "src": "42841:43:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "42868:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42868:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "42873:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42873:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "42864:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42864:3:84"
                                        },
                                        "nativeSrc": "42864:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42864:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "42858:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42858:5:84"
                                    },
                                    "nativeSrc": "42858:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42858:26:84"
                                  },
                                  "variables": [
                                    {
                                      "name": "lastValue",
                                      "nativeSrc": "42845:9:84",
                                      "nodeType": "YulTypedName",
                                      "src": "42845:9:84",
                                      "type": ""
                                    }
                                  ]
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42908:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42908:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "lastValue",
                                            "nativeSrc": "42920:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42920:9:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "42947:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "42947:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "newLen",
                                                            "nativeSrc": "42950:6:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "42950:6:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "42943:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "42943:3:84"
                                                        },
                                                        "nativeSrc": "42943:14:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "42943:14:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42959:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42959:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "42939:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42939:3:84"
                                                    },
                                                    "nativeSrc": "42939:24:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42939:24:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42969:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42969:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "42965:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42965:3:84"
                                                    },
                                                    "nativeSrc": "42965:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42965:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "42935:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "42935:3:84"
                                                },
                                                "nativeSrc": "42935:37:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "42935:37:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "42931:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42931:3:84"
                                            },
                                            "nativeSrc": "42931:42:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42931:42:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "42916:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42916:3:84"
                                        },
                                        "nativeSrc": "42916:58:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42916:58:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42901:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42901:6:84"
                                    },
                                    "nativeSrc": "42901:74:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42901:74:84"
                                  },
                                  "nativeSrc": "42901:74:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42901:74:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42794:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42794:7:84"
                                },
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42803:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42803:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42791:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42791:2:84"
                              },
                              "nativeSrc": "42791:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42791:19:84"
                            },
                            "nativeSrc": "42788:201:84",
                            "nodeType": "YulIf",
                            "src": "42788:201:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43009:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43009:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "43023:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "43023:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "newLen",
                                          "nativeSrc": "43026:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43026:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "43019:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43019:3:84"
                                      },
                                      "nativeSrc": "43019:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "43019:14:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "43035:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "43035:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "43015:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43015:3:84"
                                  },
                                  "nativeSrc": "43015:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43015:22:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43002:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43002:6:84"
                              },
                              "nativeSrc": "43002:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43002:36:84"
                            },
                            "nativeSrc": "43002:36:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43002:36:84"
                          }
                        ]
                      },
                      "nativeSrc": "42386:662:84",
                      "nodeType": "YulCase",
                      "src": "42386:662:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "42391:1:84",
                        "nodeType": "YulLiteral",
                        "src": "42391:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "43065:234:84",
                        "nodeType": "YulBlock",
                        "src": "43065:234:84",
                        "statements": [
                          {
                            "nativeSrc": "43079:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "43079:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43092:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43092:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "43083:5:84",
                                "nodeType": "YulTypedName",
                                "src": "43083:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "43128:67:84",
                              "nodeType": "YulBlock",
                              "src": "43128:67:84",
                              "statements": [
                                {
                                  "nativeSrc": "43146:35:84",
                                  "nodeType": "YulAssignment",
                                  "src": "43146:35:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "43165:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43165:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "43170:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43170:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "43161:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43161:3:84"
                                        },
                                        "nativeSrc": "43161:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43161:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "43155:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43155:5:84"
                                    },
                                    "nativeSrc": "43155:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43155:26:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43146:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43146:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "newLen",
                              "nativeSrc": "43109:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "43109:6:84"
                            },
                            "nativeSrc": "43106:89:84",
                            "nodeType": "YulIf",
                            "src": "43106:89:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43215:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43215:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43274:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43274:5:84"
                                    },
                                    {
                                      "name": "newLen",
                                      "nativeSrc": "43281:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43281:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "43221:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43221:52:84"
                                  },
                                  "nativeSrc": "43221:67:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43221:67:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43208:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43208:6:84"
                              },
                              "nativeSrc": "43208:81:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43208:81:84"
                            },
                            "nativeSrc": "43208:81:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43208:81:84"
                          }
                        ]
                      },
                      "nativeSrc": "43057:242:84",
                      "nodeType": "YulCase",
                      "src": "43057:242:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42366:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42366:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42374:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42374:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42363:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42363:2:84"
                    },
                    "nativeSrc": "42363:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42363:14:84"
                  },
                  "nativeSrc": "42356:943:84",
                  "nodeType": "YulSwitch",
                  "src": "42356:943:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
            "nativeSrc": "41964:1341:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "42043:4:84",
                "nodeType": "YulTypedName",
                "src": "42043:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "42049:3:84",
                "nodeType": "YulTypedName",
                "src": "42049:3:84",
                "type": ""
              }
            ],
            "src": "41964:1341:84"
          },
          {
            "body": {
              "nativeSrc": "43435:141:84",
              "nodeType": "YulBlock",
              "src": "43435:141:84",
              "statements": [
                {
                  "nativeSrc": "43445:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43445:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43457:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43457:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43468:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43468:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43453:3:84"
                    },
                    "nativeSrc": "43453:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43453:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43445:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43445:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43487:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43487:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43502:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43510:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43498:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43498:3:84"
                        },
                        "nativeSrc": "43498:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43498:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43480:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43480:6:84"
                    },
                    "nativeSrc": "43480:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43480:36:84"
                  },
                  "nativeSrc": "43480:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43480:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43536:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43536:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43547:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43547:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43532:3:84"
                        },
                        "nativeSrc": "43532:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43532:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43556:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43556:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43564:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43564:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43552:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43552:3:84"
                        },
                        "nativeSrc": "43552:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43552:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43525:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43525:6:84"
                    },
                    "nativeSrc": "43525:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43525:45:84"
                  },
                  "nativeSrc": "43525:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43525:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "43310:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43396:9:84",
                "nodeType": "YulTypedName",
                "src": "43396:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43407:6:84",
                "nodeType": "YulTypedName",
                "src": "43407:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43415:6:84",
                "nodeType": "YulTypedName",
                "src": "43415:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43426:4:84",
                "nodeType": "YulTypedName",
                "src": "43426:4:84",
                "type": ""
              }
            ],
            "src": "43310:266:84"
          },
          {
            "body": {
              "nativeSrc": "43628:133:84",
              "nodeType": "YulBlock",
              "src": "43628:133:84",
              "statements": [
                {
                  "nativeSrc": "43638:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43638:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43648:18:84",
                    "nodeType": "YulLiteral",
                    "src": "43648:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43642:2:84",
                      "nodeType": "YulTypedName",
                      "src": "43642:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "43675:34:84",
                  "nodeType": "YulAssignment",
                  "src": "43675:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "43690:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43690:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43693:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43693:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43686:3:84"
                        },
                        "nativeSrc": "43686:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43686:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "43702:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43702:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43705:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43705:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43698:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43698:3:84"
                        },
                        "nativeSrc": "43698:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43698:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43682:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43682:3:84"
                    },
                    "nativeSrc": "43682:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43682:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "43675:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43675:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43733:22:84",
                    "nodeType": "YulBlock",
                    "src": "43733:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "43735:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "43735:16:84"
                          },
                          "nativeSrc": "43735:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43735:18:84"
                        },
                        "nativeSrc": "43735:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43735:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "43724:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "43724:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "43729:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "43729:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "43721:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "43721:2:84"
                    },
                    "nativeSrc": "43721:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43721:11:84"
                  },
                  "nativeSrc": "43718:37:84",
                  "nodeType": "YulIf",
                  "src": "43718:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "43581:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43611:1:84",
                "nodeType": "YulTypedName",
                "src": "43611:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43614:1:84",
                "nodeType": "YulTypedName",
                "src": "43614:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "43620:3:84",
                "nodeType": "YulTypedName",
                "src": "43620:3:84",
                "type": ""
              }
            ],
            "src": "43581:180:84"
          },
          {
            "body": {
              "nativeSrc": "43865:87:84",
              "nodeType": "YulBlock",
              "src": "43865:87:84",
              "statements": [
                {
                  "nativeSrc": "43875:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43875:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43887:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43887:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43898:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43898:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43883:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43883:3:84"
                    },
                    "nativeSrc": "43883:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43883:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43875:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43875:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43917:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43917:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43932:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43932:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43940:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43940:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43928:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43928:3:84"
                        },
                        "nativeSrc": "43928:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43928:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43910:6:84"
                    },
                    "nativeSrc": "43910:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43910:36:84"
                  },
                  "nativeSrc": "43910:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43910:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "43766:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43834:9:84",
                "nodeType": "YulTypedName",
                "src": "43834:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43845:6:84",
                "nodeType": "YulTypedName",
                "src": "43845:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43856:4:84",
                "nodeType": "YulTypedName",
                "src": "43856:4:84",
                "type": ""
              }
            ],
            "src": "43766:186:84"
          },
          {
            "body": {
              "nativeSrc": "43995:74:84",
              "nodeType": "YulBlock",
              "src": "43995:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44018:22:84",
                    "nodeType": "YulBlock",
                    "src": "44018:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "44020:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44020:16:84"
                          },
                          "nativeSrc": "44020:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44020:18:84"
                        },
                        "nativeSrc": "44020:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44020:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "44015:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44015:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "44008:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44008:6:84"
                    },
                    "nativeSrc": "44008:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44008:9:84"
                  },
                  "nativeSrc": "44005:35:84",
                  "nodeType": "YulIf",
                  "src": "44005:35:84"
                },
                {
                  "nativeSrc": "44049:14:84",
                  "nodeType": "YulAssignment",
                  "src": "44049:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "44058:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44058:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "44061:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44061:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "44054:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44054:3:84"
                    },
                    "nativeSrc": "44054:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44054:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "44049:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "44049:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "43957:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43980:1:84",
                "nodeType": "YulTypedName",
                "src": "43980:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43983:1:84",
                "nodeType": "YulTypedName",
                "src": "43983:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "43989:1:84",
                "nodeType": "YulTypedName",
                "src": "43989:1:84",
                "type": ""
              }
            ],
            "src": "43957:112:84"
          },
          {
            "body": {
              "nativeSrc": "44248:229:84",
              "nodeType": "YulBlock",
              "src": "44248:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44265:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44265:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44276:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44276:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44258:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44258:6:84"
                    },
                    "nativeSrc": "44258:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44258:21:84"
                  },
                  "nativeSrc": "44258:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44258:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44299:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44299:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44310:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44310:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44295:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44295:3:84"
                        },
                        "nativeSrc": "44295:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44295:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44315:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44315:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44288:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44288:6:84"
                    },
                    "nativeSrc": "44288:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44288:30:84"
                  },
                  "nativeSrc": "44288:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44288:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44338:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44338:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44349:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44349:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44334:3:84"
                        },
                        "nativeSrc": "44334:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44334:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "44354:34:84",
                        "nodeType": "YulLiteral",
                        "src": "44354:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44327:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44327:6:84"
                    },
                    "nativeSrc": "44327:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44327:62:84"
                  },
                  "nativeSrc": "44327:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44327:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44409:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44409:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44420:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44420:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44405:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44405:3:84"
                        },
                        "nativeSrc": "44405:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44405:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "44425:9:84",
                        "nodeType": "YulLiteral",
                        "src": "44425:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44398:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44398:6:84"
                    },
                    "nativeSrc": "44398:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44398:37:84"
                  },
                  "nativeSrc": "44398:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44398:37:84"
                },
                {
                  "nativeSrc": "44444:27:84",
                  "nodeType": "YulAssignment",
                  "src": "44444:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44456:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44456:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44467:3:84",
                        "nodeType": "YulLiteral",
                        "src": "44467:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44452:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44452:3:84"
                    },
                    "nativeSrc": "44452:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44452:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "44444:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44444:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "44074:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44225:9:84",
                "nodeType": "YulTypedName",
                "src": "44225:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "44239:4:84",
                "nodeType": "YulTypedName",
                "src": "44239:4:84",
                "type": ""
              }
            ],
            "src": "44074:403:84"
          },
          {
            "body": {
              "nativeSrc": "44529:104:84",
              "nodeType": "YulBlock",
              "src": "44529:104:84",
              "statements": [
                {
                  "nativeSrc": "44539:39:84",
                  "nodeType": "YulAssignment",
                  "src": "44539:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "44555:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44555:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44558:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44558:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44551:3:84"
                        },
                        "nativeSrc": "44551:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44551:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "44569:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44569:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44572:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44572:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44565:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44565:3:84"
                        },
                        "nativeSrc": "44565:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44565:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "44547:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44547:3:84"
                    },
                    "nativeSrc": "44547:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44547:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "44539:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44539:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44605:22:84",
                    "nodeType": "YulBlock",
                    "src": "44605:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44607:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44607:16:84"
                          },
                          "nativeSrc": "44607:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44607:18:84"
                        },
                        "nativeSrc": "44607:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44607:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "44593:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "44593:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44599:4:84",
                        "nodeType": "YulLiteral",
                        "src": "44599:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44590:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44590:2:84"
                    },
                    "nativeSrc": "44590:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44590:14:84"
                  },
                  "nativeSrc": "44587:40:84",
                  "nodeType": "YulIf",
                  "src": "44587:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "44482:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "44511:1:84",
                "nodeType": "YulTypedName",
                "src": "44511:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "44514:1:84",
                "nodeType": "YulTypedName",
                "src": "44514:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "44520:4:84",
                "nodeType": "YulTypedName",
                "src": "44520:4:84",
                "type": ""
              }
            ],
            "src": "44482:151:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_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, \"not implemented: 0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 19), length_1)\n        let _2 := add(_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_2, 19), length_2)\n        let _3 := add(_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), add(_3, 19), length_3)\n        end := add(add(_3, length_3), 19)\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_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_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_decode_uint24(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint24(add(headStart, 32))\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_decode_array_struct_BatchResult_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_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\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_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_struct_Response(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffff))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_bytes(memberValue0, add(pos, 0xa0))\n    }\n    function abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Response(value0, add(headStart, 32))\n    }\n    function abi_encode_struct_Request(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffffffffffffff))\n        let memberValue0 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), 0xe0)\n        let tail := abi_encode_bytes(memberValue0, add(pos, 0xe0))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n        let memberValue0_1 := mload(add(value, 0xa0))\n        mstore(add(pos, 0xa0), and(mload(memberValue0_1), 0xff))\n        mstore(add(pos, 192), and(mload(add(memberValue0_1, 0x20)), 0xffffffffffffffff))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Request(value0, add(headStart, 32))\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_ResponseStatus(value, pos)\n    {\n        if iszero(lt(value, 6)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ResponseStatus(value0, headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function finalize_allocation(memPtr, size)\n    {\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_array_address_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        let _4 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_struct_RadonSLA_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_bytes32t_struct$_RadonSLA_$23503_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\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_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        let _2 := calldataload(_1)\n        let _3 := array_allocation_size_bytes(_2)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _3)\n        mstore(memPtr, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(memPtr, 32), add(_1, 32), _2)\n        mstore(add(add(memPtr, _2), 32), 0)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_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_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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_encode_enum_QueryStatus(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            abi_encode_enum_QueryStatus(mload(srcPtr), pos)\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_bytes_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 abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__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_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 validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint16(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint16(value)\n        value1 := value\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_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 64))\n        value5 := calldataload(add(headStart, 96))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        value2 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value3 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_enum_ResultErrorCodes(value, pos)\n    {\n        if iszero(lt(value, 255)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        abi_encode_enum_ResultErrorCodes(mload(value0), add(headStart, 32))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_bytes(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let memberValue0 := mload(value0)\n        mstore(add(headStart, 32), 0x40)\n        let tail_1 := abi_encode_struct_Request(memberValue0, add(headStart, 96))\n        let memberValue0_1 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), add(sub(tail_1, headStart), not(31)))\n        tail := abi_encode_struct_Response(memberValue0_1, tail_1)\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint32(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__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_contract$_IERC20_$479__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_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value2 := abi_decode_uint24(add(headStart, 96))\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 length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        mstore(end_1, \": \")\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(end_1, 2), length_1)\n        end := add(add(end_1, length_1), 2)\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 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_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr(base_ref, ptr_to_tail) -> addr\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(126)))) { revert(0, 0) }\n        addr := add(base_ref, rel_offset_of_tail)\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := array_allocation_size_bytes(_1)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        mstore(memPtr, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(memPtr, 0x20), _1)\n        array := memPtr\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 abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_bytes(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        mstore(end_1, \": invalid report data\")\n        end := add(end_1, 21)\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_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        let value := calldataload(value2)\n        validator_revert_uint8(value)\n        mstore(add(headStart, 64), and(value, 0xff))\n        let value_1 := calldataload(add(value2, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(headStart, 96), and(value_1, 0xffffffffffffffff))\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_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let _4 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := mload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\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        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetOracle_$749_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$_WitnetRequestBytecodes_$849_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_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), value2)\n        if gt(value2, sub(shl(251, 1), 1)) { revert(0, 0) }\n        let length := shl(5, value2)\n        calldatacopy(add(headStart, 96), value1, length)\n        tail := add(add(headStart, length), 96)\n    }\n    function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let _5 := array_allocation_size_array_address_dyn(_4)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _5)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_3, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\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_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint16(x, y) -> diff\n    {\n        let _1 := 0xffff\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_div_t_uint16(x, y) -> r\n    {\n        let _1 := 0xffff\n        let y_1 := and(y, _1)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, _1), y_1)\n    }\n    function checked_add_t_uint16(x, y) -> sum\n    {\n        let _1 := 0xffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_uint16_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function array_dataslot_bytes_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_bytes_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := srcOffset\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function checked_add_t_uint72(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_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_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 160)\n        mstore(add(headStart, 160), value2)\n        calldatacopy(add(headStart, 192), value1, value2)\n        mstore(add(add(headStart, value2), 192), 0)\n        let _1 := add(headStart, and(add(value2, 31), not(31)))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), add(sub(_1, headStart), 192))\n        tail := abi_encode_bytes(value5, add(_1, 192))\n    }\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint64(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\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 update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint8(value_1)\n        let _1 := and(value_1, 0xff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(255)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_uint64(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffffffffffffff)), _1), and(shl(8, value_2), 0xffffffffffffffff00)))\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let _1 := 0xffffffffffffffff\n        let product_raw := mul(and(x, _1), and(y, _1))\n        product := and(product_raw, _1)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        abi_encode_enum_ResponseStatus(value0, headStart)\n        let _1 := 32\n        mstore(add(headStart, 32), 64)\n        let ret := 0\n        let slotValue := sload(value1)\n        let length := extract_byte_array_length(slotValue)\n        mstore(add(headStart, 64), length)\n        let _2 := 96\n        let _3 := 1\n        switch and(slotValue, 1)\n        case 0 {\n            mstore(add(headStart, 96), and(slotValue, not(255)))\n            ret := add(add(headStart, shl(5, iszero(iszero(length)))), 96)\n        }\n        case 1 {\n            mstore(0, value1)\n            let dataPos := keccak256(0, 32)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _1) }\n            {\n                mstore(add(add(headStart, i), _2), sload(dataPos))\n                dataPos := add(dataPos, _3)\n            }\n            ret := add(add(headStart, i), 96)\n        }\n        tail := ret\n    }\n    function abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n        let value := mload(_2)\n        if iszero(lt(value, 255)) { revert(0, 0) }\n        mstore(memPtr, value)\n        let offset_1 := mload(add(_2, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function return_data_selector() -> sig\n    {\n        if gt(returndatasize(), 3)\n        {\n            returndatacopy(0, 0, 4)\n            sig := shr(224, mload(0))\n        }\n    }\n    function try_decode_error_message() -> ret\n    {\n        if lt(returndatasize(), 0x44) { leave }\n        let data := mload(64)\n        let _1 := not(3)\n        returndatacopy(data, 4, add(returndatasize(), _1))\n        let offset := mload(data)\n        let _2 := returndatasize()\n        let _3 := 0xffffffffffffffff\n        if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, _3) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetErrorsLib: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 17), length)\n        end := add(add(pos, length), 17)\n    }\n    function abi_encode_struct_CBOR(value, pos) -> end\n    {\n        let memberValue0 := mload(value)\n        mstore(pos, 0xc0)\n        let memberValue0_1 := mload(memberValue0)\n        mstore(add(pos, 0xc0), 0x40)\n        let tail := abi_encode_bytes(memberValue0_1, add(pos, 256))\n        mstore(add(pos, 224), mload(add(memberValue0, 0x20)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xff))\n        let memberValue0_2 := mload(add(value, 0x80))\n        let _1 := 0xffffffffffffffff\n        mstore(add(pos, 0x80), and(memberValue0_2, _1))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), _1))\n        end := tail\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        abi_encode_enum_ResultErrorCodes(value4, add(headStart, 128))\n        mstore(add(headStart, 160), 192)\n        tail := abi_encode_struct_CBOR(value5, add(headStart, 192))\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_struct_CBOR(value4, add(headStart, 160))\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 copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := 0x20\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"WitnetCBOR.skip: unsupported maj\")\n        mstore(add(headStart, 96), \"or type\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "593:2568:31:-:0;;;675:10:28;639:46;;-1:-1:-1;;;1345:72:36;;829:704:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1260:8;1284:9;1308:11;1335;1361:20;1396:32;1443:38;1496:18;1491:8:37;1515:9;1539:11;1566;1601:1;3369:9:36;3424:11;3450;694:288:28;;;;;;;;;;;;;;;;;846:11;3339:10:36;1297:1:1;-1:-1:-1;;;;;1273:26:1;:12;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;1282:51:84;1255:18;;1322:31:1;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:83;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;875:40:28::1;::::0;;;;942:32;;::::1;::::0;;::::1;::::0;926:48:::1;::::0;-1:-1:-1;;;;;;344:28:80;;;;;3531:20:36;;::::3;;::::0;-1:-1:-1;;;3562:20:36::3;;::::0;1634:44:37::1;::::0;;;;1689:68:::1;::::0;;;;1768:80:::1;::::0;1859:40:::1;::::0;-1:-1:-1;593:2568:31;;-1:-1:-1;;;;;;;;;;;593:2568:31;1478:156:79;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;:::-;1478:156;:::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;14:153:84:-;-1:-1:-1;;;;;111:31:84;;101:42;;91:70;;157:1;154;147:12;172:959;360:6;368;376;384;392;400;408;416;469:3;457:9;448:7;444:23;440:33;437:53;;;486:1;483;476:12;437:53;518:9;512:16;537:53;584:5;537:53;:::i;:::-;659:2;644:18;;638:25;609:5;;-1:-1:-1;672:55:84;638:25;672:55;:::i;:::-;798:2;783:18;;777:25;746:7;;-1:-1:-1;840:15:84;;833:23;821:36;;811:64;;871:1;868;861:12;811:64;941:2;926:18;;920:25;985:3;970:19;;964:26;1030:3;1015:19;;1009:26;1075:3;1060:19;;1054:26;1120:3;1105:19;;;1099:26;172:959;;;;-1:-1:-1;894:7:84;;920:25;;964:26;;1009;;-1:-1:-1;1054:26:84;;-1:-1:-1;1099:26:84;-1:-1:-1;172:959:84;-1:-1:-1;;;172:959:84:o;1136:203::-;593:2568:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "593:2568:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3637:32:36;;;:7;:32::i;:::-;593:2568:31;;;;;;;;;;;-1:-1:-1;4058:325:36;4140:42;4172:7;;4159:22;;4140:18;:42::i;:::-;4197:47;4216:27;4229:7;;4216:27;;;4197:18;:47::i;:::-;4259:48;4278:28;4291:7;;4278:28;;;4259:18;:48::i;:::-;4322;4341:28;4354:7;;4341:28;;;4322:18;:48::i;:::-;4073:308;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4058:7;:325::i;29533:142::-;;;;;;;;;;-1:-1:-1;29533:142:36;;;;;:::i;:::-;;:::i;:::-;;;1899:14:84;;1892:22;1874:41;;1862:2;1847:18;29533:142:36;;;;;;;;3152:922:37;;;;;;;;;;-1:-1:-1;3152:922:37;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;3152:922:37;2349:177:84;27473:1666:36;;;;;;;;;;-1:-1:-1;27473:1666:36;;;;;:::i;:::-;;:::i;9818:398::-;;;;;;;;;;-1:-1:-1;9818:398:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10949:217::-;;;;;;;;;;-1:-1:-1;10949:217:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12089:227::-;;;;;;;;;;-1:-1:-1;12089:227:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30388:344::-;;;;;;;;;;-1:-1:-1;30388:344:36;;;;;:::i;:::-;;:::i;15617:575::-;;;;;;:::i;:::-;;:::i;6426:1626::-;;;;;;;;;;-1:-1:-1;6426:1626:36;;;;;:::i;:::-;;:::i;23309:257::-;;;;;;;;;;-1:-1:-1;23309:257:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29950:154::-;;;;;;;;;;-1:-1:-1;29950:154:36;;;;;:::i;:::-;;:::i;1477:77:83:-;;;;;;;;;;-1:-1:-1;1541:5:83;1477:77;;;-1:-1:-1;;;;;10568:32:84;;;10550:51;;10538:2;10523:18;1477:77:83;10404:203:84;1799:47:28;;;;;;;;;;;;;;;1931:88:83;;;;;;;;;;-1:-1:-1;2000:11:83;1931:88;;2176:135:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14152:413:36:-;;;;;;;;;;-1:-1:-1;14152:413:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;24223:814::-;;;;;;;;;;-1:-1:-1;24223:814:36;;;;;:::i;:::-;;:::i;8139:271::-;;;;;;;;;;-1:-1:-1;8139:271:36;;;;;:::i;:::-;;:::i;13933:211::-;;;;;;;;;;-1:-1:-1;13933:211:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10589:213::-;;;;;;;;;;-1:-1:-1;10589:213:36;;;;;:::i;:::-;10709:7;10741:35;;;-1:-1:-1;;;;;;;;;;;10741:35:36;;;;;:53;-1:-1:-1;;;10741:53:36;;-1:-1:-1;;;;;10741:53:36;;10589:213;2293:101:1;;;;;;;;;;;;;:::i;1719:245:79:-;;;;;;;;;;;;;:::i;1424:57:36:-;;;;;;;;;;;;;;;4399:150;;;;;;;;;;-1:-1:-1;4499:40:36;;;4518:4;4499:40;;;;30249:51:84;;;;4525:13:36;30316:18:84;;;30309:34;4499:40:36;;;;;;;;;30222:18:84;;;;4499:40:36;;;4489:51;;;;;4399:150;;;-1:-1:-1;;;;;;13358:33:84;;;13340:52;;13328:2;13313:18;4399:150:36;13196:202:84;2495:370:37;;;;;;;;;;-1:-1:-1;2495:370:37;;;;;:::i;:::-;;:::i;12493:240:36:-;;;;;;;;;;-1:-1:-1;12493:240:36;;;;;:::i;:::-;;:::i;1638:85:1:-;;;;;;;;;;-1:-1:-1;1684:7:1;1710:6;-1:-1:-1;;;;;1710:6:1;1638:85;;21752:1341:36;;;;;;;;;;-1:-1:-1;21752:1341:36;;;;;:::i;:::-;;:::i;:::-;;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;21752:1341:36;14972:248:84;9033:419:36;;;;;;;;;;-1:-1:-1;9033:419:36;;;;;:::i;:::-;;:::i;19674:853::-;;;;;;:::i;:::-;;:::i;2894:258:31:-;;;;;;;;;;-1:-1:-1;2894:258:31;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;1345:72:36;;;;;;;;;;;;;;;1943:232:31;;;;;;;;;;-1:-1:-1;1943:232:31;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25776:1038:36:-;;;;;;;;;;-1:-1:-1;25776:1038:36;;;;;:::i;:::-;;:::i;686:135:31:-;;;;;;;;;;;;;:::i;4766:114:36:-;;;;;;;;;;-1:-1:-1;4863:9:36;4766:114;;14657:146;;;;;;;;;;;;;:::i;639:46:28:-;;;;;;;;;;;;;;;807:101:79;;;;;;;;;;-1:-1:-1;887:13:79;;-1:-1:-1;;;;;887:13:79;807:101;;161:32:80;;;;;;;;;;;;;;;17568:726:36;;;;;;:::i;:::-;;:::i;20769:423::-;;;;;;:::i;:::-;;:::i;1107:181:79:-;;;;;;;;;;-1:-1:-1;1107:181:79;;;;;:::i;:::-;;:::i;2466:261:31:-;;;;;;;;;;-1:-1:-1;2466:261:31;;;;;:::i;:::-;;:::i;2777:235:28:-;2920:7;:5;:7::i;:::-;2969:8;2885:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2885:107:28;;;;;;;;;;-1:-1:-1;;;2857:147:28;;;;;;;:::i;:::-;;;;;;;;19878:397:64;19999:12;;;20009:1;19999:12;;;;;;;;;19950:13;;19981:15;;19999:12;;;;;;;;;;;-1:-1:-1;;19981:30:64;-1:-1:-1;20022:8:64;20039:7;20044:2;20039;:7;:::i;:::-;20033:19;;20050:2;20033:19;:::i;:::-;20022:30;-1:-1:-1;20063:8:64;20080:7;20085:2;20080;:7;:::i;:::-;20074:19;;20091:2;20074:19;:::i;:::-;20063:30;;20113:2;20108;:7;;;20104:33;;;20130:7;20136:1;20130:7;;:::i;:::-;;;20104:33;20157:2;20152;:7;;;20148:33;;;20174:7;20180:1;20174:7;;:::i;:::-;;;20148:33;20207:2;20200:10;;20192:2;20195:1;20192:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20192:18:64;;;;;;;;;20236:2;20229:10;;20221:2;20224:1;20221:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20221:18:64;;;;;;;;-1:-1:-1;20264:2:64;;19878:397;-1:-1:-1;;;;19878:397:64:o;29533:142:36:-;-1:-1:-1;;;;;1232:22:41;;29602:4:36;1232:22:41;;;:16;:22;;;;;;;;29626:41:36;29619:48;29533:142;-1:-1:-1;;29533:142:36:o;3152:922:37:-;3299:7;;3443:23;3447:19;3443:1;:23;:::i;:::-;3384:82;;:39;:82;:::i;:::-;3324:153;;3526:37;3506:17;:57;;;:171;;;-1:-1:-1;3640:37:37;3584:53;;;;:33;:53;:::i;:::-;:93;3506:171;3488:579;;;3730:70;3763:37;3730:9;:70;:::i;:::-;3704:111;;;;;3488:579;3935:82;;;;:33;:82;:::i;:::-;3874:166;;:9;:166;:::i;3488:579::-;3313:761;3152:922;;;;:::o;27473:1666:36:-;27628:20;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;3010:10;2988:33;;;;:21;;;;;:33;;;;;;;;;;2965:105;;;;;;;;;;;-1:-1:-1;;;2965:105:36;;;;;;;2988:33;;;2965:8;:105::i;:::-;27672:7:::1;27666:1211;27685:25:::0;;::::1;27666:1211;;;27843:27;27756:62;27792:13;;27806:2;27792:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27756:35;:62::i;:::-;:114;;;;;;;;:::i;:::-;;27734:1132;;27910:179;27949:13;;27963:2;27949:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;27997:73;::::0;-1:-1:-1;;;27997:73:36;;27949:25;::::1;::::0;27997:19:::1;::::0;:44:::1;::::0;:73:::1;::::0;28042:27:::1;::::0;27997:73:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;27997:73:36::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;27910:179;;;;;;;:::i;:::-;;;;;;;;27734:1132;;;28133:13;;28147:2;28133:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;:43;;::::0;;:118:::1;;;28201:13;;28215:2;28201:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:50:::0;;-1:-1:-1;28133:118:36::1;28111:755;;;28291:238;28330:13;;28344:2;28330:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28429:7;:5;:7::i;:::-;28386:123;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;28386:123:36;;::::1;::::0;;;;;;;28291:238:::1;::::0;;::::1;:::i;28111:755::-;28586:264;28623:13;;28637:2;28623:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28671:13:::0;;28685:2;28671:17;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;28732:13;;28746:2;28732:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;;;28793:13;;28807:2;28793:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28586:14;:264::i;:::-;28570:280;::::0;;::::1;:::i;:::-;;;28111:755;27712:5;;27666:1211;;;-1:-1:-1::0;28987:16:36;;28983:149:::1;;29020:100;29063:10;29093:12;29020:16;:100::i;9818:398::-:0;10037:34;;:::i;:::-;9932:14;9948:30;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2494:53:36;;;;;;;;;;;;:::i;:::-;2486:7;:62::i;:::-;2413:173;;;10003:14:::1;2717:139;2754:46;2791:8;2754:36;:46::i;:::-;:56:::0;2717:139:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2717:139:36::1;::::0;::::1;::::0;-1:-1:-1;;;;;2754:56:36;;::::1;2740:10;:70;::::0;2717:8:::1;:139::i;:::-;10101:45:::2;10131:14;10101:29;:45::i;:::-;10089:66;::::0;;::::2;::::0;::::2;::::0;;10101:54:::2;::::0;::::2;10089:66:::0;;-1:-1:-1;;;;;10089:66:36;::::2;::::0;;-1:-1:-1;;;10089:66:36;::::2;-1:-1:-1::0;;;;;10089:66:36::2;;::::0;::::2;::::0;-1:-1:-1;;;10089:66:36;::::2;;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;10173:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;10173:11:36::2;:35;::::0;;;:19:::2;::::0;;::::2;:35;::::0;;;;10166:42;;;10173:35;;;;;10166:42:::2;::::0;;::::2;10173:35:::0;10166:42:::2;:::i;:::-;-1:-1:-1::0;10166:42:36::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;10166:42:36;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;;;::::2;:::i;:::-;;;;;2575:1:::1;2413:173:::0;9818:398;;;;;:::o;10949:217::-;11058:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:23:36;11106:52;11143:14;11106:36;:52::i;:::-;11099:59;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;-1:-1:-1;;;11099:59:36;;;;;;;;-1:-1:-1;;;11099:59:36;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11099:59:36;;;-1:-1:-1;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;-1:-1:-1;;10949:217:36:o;12089:227::-;12201:23;12249:59;12293:14;12249:43;:59::i;30388:344::-;1531:13:1;:11;:13::i;:::-;30517:7:36::1;30512:169;30535:12;:19;30530:2;:24;30512:169;;;30578:17;30598:12;30611:2;30598:16;;;;;;;;:::i;:::-;;;;;;;30578:36;;30664:5;30629:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;30629:11:36::1;-1:-1:-1::0;;;;;30629:32:36;;;::::1;;::::0;;;:21:::1;::::0;;::::1;:32;::::0;;;;;:40;;-1:-1:-1;;30629:40:36::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;30556:5:36::1;30512:169;;;;30696:28;30711:12;30696:28;;;;;;:::i;:::-;;;;;;;;30388:344:::0;:::o;15617:575::-;15897:22;15806:42;4492:11:37;15838:9:36;15806:15;:42::i;:::-;1873:97;1914:8;4679:9:37;1896:14:36;:26;;1873:97;;;;;;;;;;;;;-1:-1:-1;;;1873:97:36;;;:8;:97::i;:::-;1982;2023:13;:8;2034:2;2023:13;:::i;:::-;4679:9:37;2005:31:36;;1982:97;;;;;;;;;;;;;-1:-1:-1;;;1982:97:36;;;:8;:97::i;:::-;15868:9:::1;2168:84;2191:21;2208:3;2191:16;:21::i;:::-;2168:84;;;;;;;;;;;;;-1:-1:-1::0;;;2168:84:36::1;;::::0;:8:::1;:84::i;:::-;15954:38:::2;15968:9;15979;15990:1;15954:13;:38::i;:::-;15937:55:::0;-1:-1:-1;16079:105:36::2;15937:55:::0;4679:9:37;16164::36::2;16079:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::1;15617:575:::0;;;;;:::o;6426:1626::-;6520:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;6555:30:36;1710:6:1;6598:617:36;;6696:29;6780:9;6769:39;;;;;;;;;;;;:::i;:::-;6740:68;;-1:-1:-1;6740:68:36;-1:-1:-1;6823:26:36;6740:68;6823:18;:26::i;:::-;6891:16;6880:41;;;;;;;;;;;;:::i;:::-;6864:57;;6624:309;6598:617;;;6997:96;7038:6;-1:-1:-1;;;;;7024:20:36;:10;-1:-1:-1;;;;;7024:20:36;;6997:96;;;;;;;;;;;;;-1:-1:-1;;;6997:96:36;;;:8;:96::i;:::-;7180:9;7169:34;;;;;;;;;;;;:::i;:::-;7153:50;;6598:617;7245:22;;:36;;;;:93;;-1:-1:-1;7302:22:36;;1747:5:83;1800:18;7302:36:36;7245:93;7227:177;;;7365:27;;;;;;;;;;;;;;-1:-1:-1;;;7365:27:36;;;:7;:27::i;:::-;1747:5:83;1800:18;7414:22:36;:35;7462:103;;;;;;;;;;;;-1:-1:-1;;;7462:103:36;;;;;;7493:9;-1:-1:-1;;;;;7485:30:36;;:34;;;7462:8;:103::i;:::-;7576:131;-1:-1:-1;;;;;;;;7599:60:36;;:9;-1:-1:-1;;;;;7599:15:36;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7599:60:36;;;7576:131;;;;;;;;;;;;;-1:-1:-1;;;7576:131:36;;;:8;:131::i;:::-;7718:185;7780:4;-1:-1:-1;;;;;7741:44:36;7749:9;-1:-1:-1;;;;;7749:16:36;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7741:44:36;;:116;;;;;7848:8;-1:-1:-1;;;;;7807:50:36;7815:9;-1:-1:-1;;;;;7815:18:36;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7807:50:36;;7741:116;7718:185;;;;;;;;;;;;;-1:-1:-1;;;7718:185:36;;;:8;:185::i;:::-;7950:29;7965:13;7950:14;:29::i;:::-;1747:5:83;1800:18;1541:5;-1:-1:-1;;;;;7997:47:36;8006:6;-1:-1:-1;;;;;7997:47:36;;8034:9;:7;:9::i;:::-;7997:47;;;;;;:::i;:::-;;;;;;;;6509:1543;;6426:1626;:::o;23309:257::-;23492:66;;-1:-1:-1;;;23492:66:36;;23442:25;;23492:19;;:45;;:66;;23538:8;;23548:9;;;;23492:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23492:66:36;;;;;;;;;;;;:::i;:::-;23485:73;23309:257;-1:-1:-1;;;23309:257:36:o;29950:154::-;1531:13:1;:11;:13::i;:::-;30070:26:36::1;30085:10;30070:14;:26::i;:::-;29950:154:::0;:::o;2176:135:28:-;2233:13;2266:37;2276:26;2266:9;:37::i;:::-;2259:44;;2176:135;:::o;14152:413:36:-;14276:37;14368:15;-1:-1:-1;;;;;14341:50:36;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14341:50:36;;14331:60;;14407:8;14402:156;14421:28;;;14402:156;;;14489:57;14525:15;;14541:3;14525:20;;;;;;;:::i;:::-;;;;;;;14489:35;:57::i;:::-;14474:7;14482:3;14474:12;;;;;;;;:::i;:::-;;;;;;:72;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;14451:6:36;;14402:156;;24223:814;24531:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;24468:14;24484:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;24593:113:::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;24593:113:36::2;::::0;::::2;::::0;::::2;::::0;24616:39;;::::2;::::0;24593:8:::2;:113::i;:::-;24844:185;24882:14;24918:15;24949:27;24991;;24844:23;:185::i;:::-;24837:192;;2575:1;3081::::1;;24223:814:::0;;;;;;:::o;8139:271::-;8212:4;2000:11:83;8340:51:36;;;;;8386:5;-1:-1:-1;;;;;8375:16:36;:7;1684::1;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;8375:7:36;-1:-1:-1;;;;;8375:16:36;;8229:173;8139:271;-1:-1:-1;;8139:271:36:o;13933:211::-;14040:20;14085:51;14121:14;14085:35;:51::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1719:245:79:-;887:13;;735:10:3;;-1:-1:-1;;;;;887:13:79;1816:24;;1812:108;;1857:51;;-1:-1:-1;;;1857:51:79;;29867:2:84;1857:51:79;;;29849:21:84;29906:2;29886:18;;;29879:30;29945:34;29925:18;;;29918:62;-1:-1:-1;;;29996:18:84;;;29989:39;30045:19;;1857:51:79;29665:405:84;1812:108:79;1930:26;1949:6;1930:18;:26::i;2495:370:37:-;2627:7;2825:2;2777:19;;;;:44;;2803:18;2820:1;2803:14;:18;:::i;:::-;2777:44;;;2799:1;2777:44;2776:51;;;;:::i;:::-;2772:55;;:1;:55;:::i;:::-;2727:119;;;;:19;:119;:::i;:::-;2686:160;;:21;:160;:::i;:::-;2659:198;;:9;:198;:::i;12493:240:36:-;12619:12;12656:53;12694:14;12656:37;:53::i;:::-;:69;;12649:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:240;;;:::o;21752:1341::-;22011:17;22030;22070:8;22065:1021;22084:28;;;22065:1021;;;22202:27;22141:57;22177:15;;22193:3;22177:20;;;;;;;:::i;22141:57::-;:88;;;;;;;;:::i;:::-;;22137:938;;22250:34;22287:58;22324:15;;22340:3;22324:20;;;;;;;:::i;:::-;;;;;;;22287:36;:58::i;:::-;22377:19;;;;-1:-1:-1;22364:32:36;;-1:-1:-1;;;22377:19:36;;-1:-1:-1;;;;;22377:19:36;22364:32;;:::i;:::-;22419:21;;22364:32;;-1:-1:-1;;;;22419:21:36;;;;:25;22415:559;;22523:21;;22482:63;;22510:11;;-1:-1:-1;;;22523:21:36;;;;22482:27;:63::i;:::-;22469:76;;;;:::i;:::-;;;22415:559;;;22598:19;;;;:33;22594:361;;22673:49;22689:11;22702:9;:19;;;22673:15;:49::i;22594:361::-;22891:39;22907:11;22927:1;22891:15;:39::i;:::-;22878:52;;;;:::i;:::-;;;22594:361;23046:13;23006:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;23006:53:36;;;;;:::i;:::-;22992:67;;;;:::i;:::-;;;22231:844;22137:938;22114:6;;22065:1021;;;;21752:1341;;;;;;;;;:::o;9033:419::-;9207:49;;-1:-1:-1;;;9207:49:36;;;;;2495:25:84;;;9158:7:36;;;;-1:-1:-1;;;;;9207:8:36;:40;;;;2468:18:84;;9207:49:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9183:73;;9267:81;9307:1;9290:14;:18;;;9267:81;;;;;;;;;;;;;-1:-1:-1;;;9267:81:36;;;:8;:81::i;:::-;9366:78;9396:8;9419:14;9366:15;:78::i;:::-;9359:85;9033:419;-1:-1:-1;;;;9033:419:36:o;19674:853::-;20127:22;19953:10;19965:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1658:102;;;;;1759:1;1739:17;:21;;;1658:102;1635:169;;;;;;;;;;;;;-1:-1:-1;;;1635:169:36;;;:8;:169::i;:::-;20010:68:::1;4492:11:37::0;20038:14:36::1;20055:22;20010:27;:68::i;:::-;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;20098:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;20184:110:::3;20220:1;20237:9:::0;20261:22;20184:13:::3;:110::i;:::-;20167:127;;20375:24;;20305:52;20342:14;20305:36;:52::i;:::-;:67;;::::0;:94:::3;::::0;;:67;:94:::3;:::i;:::-;-1:-1:-1::0;20415:104:36::3;20441:14:::0;4679:9:37;20499::36::3;20415:104;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;19674:853:::0;;;;;;;;:::o;2894:258:31:-;-1:-1:-1;;;;;;;;;;;;;;;;;3011:8:31;2717:139:36;2754:46;2791:8;2754:36;:46::i;2717:139::-;3089:55:31::1;3135:8;3089:45;:55::i;:::-;3082:62;;2858:1:36;2894:258:31::0;;;;:::o;1943:232::-;2077:21;;:::i;:::-;2049:8;2717:139:36;2754:46;2791:8;2754:36;:46::i;2717:139::-;2123:44:31::1;2158:8;2123:34;:44::i;25776:1038:36:-:0;26143:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;26080:14;26096:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;26199:164:::2;26252:1;26222:27;:31;;;:99;;;;;26306:15;26275:27;:46;;;;26222:99;26199:164;;;;;;;;;;;;;-1:-1:-1::0;;;26199:164:36::2;;::::0;:8:::2;:164::i;:::-;26410:113;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;26410:113:36::2;::::0;::::2;::::0;::::2;::::0;26433:39;;::::2;::::0;26410:8:::2;:113::i;:::-;26617:189;26655:14;26684:27;26726;26768;;26617:23;:189::i;:::-;26609:197;;2575:1;3081::::1;;25776:1038:::0;;;;;;;:::o;686:135:31:-;774:39;;;;;;;;;;;;;;;;;;686:135::o;14657:146:36:-;14742:7;-1:-1:-1;;;;;;;;;;;14774:17:36;:21;;14794:1;14774:21;:::i;17568:726::-;17999:22;17825:10;17837:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;10404:203:84;1635:169:36;17882:68:::1;4492:11:37::0;17910:14:36::1;4369:142:37::0;17882:68:36::1;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;17970:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;18056:109:::3;18084:9;18108;18132:22;18056:13;:109::i;:::-;18039:126:::0;-1:-1:-1;18181:105:36::3;18039:126:::0;4679:9:37;18266::36::3;18181:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;17568:726:::0;;;;;;;:::o;20769:423::-;20900:14;20916:27;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;2486:62::-;20769:423;;;:::o;2413:173::-;20961:34:::1;20998:52;21035:14;20998:36;:52::i;:::-;20961:89:::0;-1:-1:-1;4679:9:37;21061:45:36;;;;:19:::1;::::0;:45:::1;::::0;;;-1:-1:-1;;;21061:45:36;::::1;-1:-1:-1::0;;;;;21061:45:36::1;;:::i;:::-;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;21061:45:36;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;21164:19;;21122:62:::1;::::0;;33841:25:84;;;-1:-1:-1;;;21164:19:36;;::::1;::::0;;::::1;33897:2:84::0;33882:18;;33875:61;21122:62:36::1;::::0;-1:-1:-1;33814:18:84;21122:62:36::1;;;;;;;20950:242;20769:423:::0;;;:::o;1107:181:79:-;1531:13:1;:11;:13::i;:::-;1197::79::1;:24:::0;;-1:-1:-1;;;;;1197:24:79;::::1;-1:-1:-1::0;;;;;;1197:24:79;;::::1;::::0;::::1;::::0;;;1262:7:::1;1684::1::0;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;1262:7:79::1;-1:-1:-1::0;;;;;1237:43:79::1;;;;;;;;;;;1107:181:::0;:::o;2466:261:31:-;2608:34;;:::i;:::-;2580:8;2717:139:36;2754:46;2791:8;2754:36;:46::i;2717:139::-;2667:52:31::1;2710:8;2667:42;:52::i;2565:204:28:-:0;2706:10;2701:61;;2733:17;2741:8;2733:7;:17::i;:::-;2565:204;;:::o;1886:617:41:-;1951:20;2017:23;;;-1:-1:-1;;;;;;;;;;;2017:23:41;;;;;2055:16;;;:32;-1:-1:-1;;;2055:32:41;;;;:37;2051:445;;2129:16;;;:25;-1:-1:-1;;;2129:25:41;;-1:-1:-1;;;;;2129:25:41;2113:12;:41;2109:196;;-1:-1:-1;2182:30:41;;1886:617;-1:-1:-1;;1886:617:41:o;2109:196::-;-1:-1:-1;2260:29:41;;1886:617;-1:-1:-1;;1886:617:41:o;2051:445::-;2326:25;;-1:-1:-1;;;;;2326:25:41;:39;2322:174;;-1:-1:-1;2389:27:41;;1886:617;-1:-1:-1;;1886:617:41:o;2322:174::-;-1:-1:-1;2456:28:41;;1886:617;-1:-1:-1;;1886:617:41:o;32022:2928:36:-;32295:18;32404:34;32441:52;32478:14;32441:36;:52::i;:::-;32570:19;;-1:-1:-1;;;;;32680:23:36;;;;;-1:-1:-1;;;32570:19:36;;;-1:-1:-1;;;;;32570:19:36;;-1:-1:-1;32570:19:36;;-1:-1:-1;;;;32774:21:36;;;;:25;32770:2173;;33195:19;;32835:29;;;;;;32983:286;;33024:14;;32983:286;;;;33103:27;;33149;;;;-1:-1:-1;;;;;33195:19:36;;;-1:-1:-1;;;33233:21:36;;;;32983:22;:286::i;:::-;32816:453;;;;;;33288:19;33284:785;;;33386:165;;;34149:25:84;;;4492:11:37;34205:2:84;34190:18;;34183:34;34233:18;;;34226:34;;;33386:165:36;;;;;;;34137:2:84;33386:165:36;;;33284:785;;;33642:411;33698:14;33735:27;;4492:11:37;33822:21:36;33908:1;33872:25;33866:39;:43;:168;;;;;;;;;;;;;;;;;;;;;;33938:25;33866:168;33642:411;;;;;;;;;;;:::i;:::-;;;;;;;;33284:785;34271:187;34310:14;34344:27;34391;34271:187;;;;;;;;;;;;:20;:187::i;:::-;32801:1669;;;32770:2173;;;34539:101;34577:14;4492:11:37;34539:101:36;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;34539:101:36;;;;;;;34725:206;34764:14;34797:27;34843;34889;;34725:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34725:20:36;;-1:-1:-1;;;34725:206:36:i;:::-;32320:2630;32022:2928;;;;;;;:::o;4837:162:37:-;4961:30;;-1:-1:-1;;;;;4961:21:37;;;:30;;;;;4983:7;;4961:30;;;;4983:7;4961:21;:30;;;;;;;;;;;;;;;;;;;1507:151:41;1574:24;1618;;;-1:-1:-1;;;;;;;;;;;1618:24:41;;;;;;1507:151::o;2511:1151::-;2584:23;2620:33;2656:24;2672:7;2656:15;:24::i;:::-;2620:60;-1:-1:-1;2711:30:41;2695:12;:46;;;;;;;;:::i;:::-;;2691:964;;2758:26;2787:23;;;-1:-1:-1;;;;;;;;;;;2787:23:41;;;;;:48;;2854:19;;2787:48;;2758:26;2787:48;;2854:19;;;:::i;:::-;;;:23;2850:480;;;2996:15;;-1:-1:-1;;;3015:12:41;2996;;3009:1;;2996:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2996:15:41;-1:-1:-1;;;;;2996:31:41;;;:138;;3105:29;2996:138;;;3051:29;2988:165;2511:1151;-1:-1:-1;;;;2511:1151:41:o;2850:480::-;-1:-1:-1;3281:33:41;;2511:1151;-1:-1:-1;;;2511:1151:41:o;2691:964::-;3367:27;3351:12;:43;;;;;;;;:::i;:::-;;3347:308;;-1:-1:-1;3418:32:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;3347:308::-;3488:29;3472:12;:45;;;;;;;;:::i;:::-;;3468:187;;-1:-1:-1;3541:34:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;1796:162:1:-;1684:7;1710:6;-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;;;10550:51:84;10523:18;;1901:40:1;10404:203:84;3081:220:70;3144:4;;3183:24;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3183:28:70;;:71;;;;-1:-1:-1;3253:1:70;3233:17;;;;:3;:17;:::i;:::-;:21;;;3183:71;:99;;;;-1:-1:-1;3279:3:70;3258:17;;;;:3;:17;:::i;:::-;:24;;;;3161:132;3081:220;-1:-1:-1;;3081:220:70:o;31305:709:36:-;31449:22;-1:-1:-1;;;;;;;;;;;31506:20:36;;31509:17;;31506:20;;;:::i;:::-;;;;;-1:-1:-1;31506:20:36;-1:-1:-1;31575:34:36;31612:52;31506:20;31612:36;:52::i;:::-;31684:19;;31675:61;;;;;;;;;;;;-1:-1:-1;;;31675:61:36;;;;31684:19;;-1:-1:-1;31675:61:36;;-1:-1:-1;;;;;31684:19:36;;;:33;;31675:8;:61::i;:::-;31762:32;;4679:9:37;-1:-1:-1;;;;;31865:44:36;-1:-1:-1;;;31865:44:36;-1:-1:-1;;;;;;31809:41:36;;;31784:10;-1:-1:-1;;;;31809:41:36;;-1:-1:-1;;;31809:41:36;;;;;-1:-1:-1;;;;;31865:44:36;;;;31924:19;;;:30;;;31991:4;31969:19;;;:26;31991:4;31969:19;:26;:::i;:::-;;;;31478:536;31305:709;;;;;:::o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;38665:306:36:-;38765:7;38760:164;38783:10;:17;38778:2;:22;38760:164;;;38824:17;38844:10;38855:2;38844:14;;;;;;;;:::i;:::-;;;;;;;38824:34;;38908:4;38873:11;-1:-1:-1;;;;;;;;;;;1097:28:41;2176:135:28;38873:11:36;-1:-1:-1;;;;;38873:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;38873:39:36;;;;;;;;;;-1:-1:-1;38802:5:36;38760:164;;;;38939:24;38952:10;38939:24;;;;;;:::i;3059:372:28:-;3137:13;3168:19;3200:25;3216:8;3200:15;:25::i;:::-;-1:-1:-1;;;;;3190:36:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3190:36:28;;3168:58;;3242:7;3237:155;3260:6;:13;3255:2;:18;3237:155;;;3304:8;3313:2;3304:12;;;;;;;:::i;:::-;;;;3291:6;3298:2;3291:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;3291:25:28;;;;;;;;-1:-1:-1;3360:5:28;;3237:155;;34958:659:36;35240:18;35289:183;35318:14;35348:27;35391;35434;;35289:14;:183::i;:::-;35276:196;;35523:86;35562:10;35588;35523:16;:86::i;:::-;34958:659;;;;;;;:::o;1724:154:41:-;1792:25;1837:24;;;-1:-1:-1;;;;;;;;;;;1837:24:41;;;;;:33;;;1724:154::o;3745:157:70:-;3871:18;;3816:6;;3871:22;;:18;;3892:1;3871:22;:::i;:::-;3842:25;;:52;;;;;:25;;;-1:-1:-1;;;;;3842:25:70;:52;:::i;12906:974:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;13068:31:36;13102:59;13146:14;13102:43;:59::i;:::-;13068:93;;13176:15;:29;13206:7;13215:53;13253:14;13215:37;:53::i;:::-;:69;;13176:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13176:109:36;;;;;;;;;;;;:::i;:::-;;;13172:701;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13471:172;;;;;;;;;;-1:-1:-1;13471:172:36;;;;13618:7;13580:46;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13580:46:36;;;;;;;;;13471:172;;13464:179;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;;;;;;;;;;;;;;13701:160;12906:974;-1:-1:-1;;;;12906:974:36:o;10307:190::-;10408:21;;:::i;:::-;10454:35;;;;-1:-1:-1;;;;;;;;;;;10454:35:36;;;;;;;10447:42;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;;;;;10447:42:36;;;;;10454:19;10447:42;;;;;;;;;;10454:35;;10447:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;-1:-1:-1;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;10447:42:36;10307:190;-1:-1:-1;;10307:190:36:o;11403:225::-;11518:24;;:::i;:::-;11567:53;11605:14;11567:37;:53::i;:::-;11560:60;;;;;;;;;;-1:-1:-1;;;;;11560:60:36;;;;-1:-1:-1;;;11560:60:36;;-1:-1:-1;;;;;11560:60:36;;;;;-1:-1:-1;;;11560:60:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11403:225;;;:::o;35625:3032::-;35999:29;36044:24;36084:39;36175:9;36151:33;-1:-1:-1;;;;36199:27:36;;36227:1;36199:30;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;36199:46:36;;;36195:2410;;36262:32;36297:61;:49;36318:27;;36297:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;36297:20:36;;-1:-1:-1;;;36297:49:36:i;:::-;:59;:61::i;:::-;36262:96;;36394:1;36377:7;:14;:18;36373:1621;;;36497:13;-1:-1:-1;;;;;36481:53:36;;36540:20;36584:14;36621:27;36671;36721:12;36756:31;36810:318;;;;;;;;36861:46;;;;;;;;;;;;;;;;;;;;;;;;36904:1;36861:46;;;36810:318;;;;36947:1;36810:318;;;;;;36986:1;36810:318;;;;;;37037:1;36810:318;;;;;;37070:1;-1:-1:-1;;;;;36810:318:36;;;;;37103:1;-1:-1:-1;;;;;36810:318:36;;;;36481:666;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36477:846;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;37300:3;-1:-1:-1;36373:1621:36;;36477:846;;;;;;;;;;;37193:4;37171:26;;36373:1621;;;37445:13;-1:-1:-1;;;;;37429:53:36;;37488:20;37532:14;37569:27;37619;37669:12;37728:21;:7;37736:1;37728:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;37704:46;;;;;;;;:::i;:::-;37773:7;37781:1;37773:10;;;;;;;;:::i;:::-;;;;;;;37429:373;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37425:554;;;;:::i;:::-;37848:4;37826:26;;37425:554;36247:1758;36195:2410;;;38106:13;-1:-1:-1;;;;;38090:54:36;;38150:20;38190:14;38223:27;38269;38315:12;38346:49;38367:27;;38346:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38346:20:36;;-1:-1:-1;;;38346:49:36:i;:::-;38090:320;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38086:508;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;38551:3;-1:-1:-1;38086:508:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38571:23;38086:508;;;38452:4;38430:26;;38086:508;38640:9;38615:34;;;;:::i;:::-;;;35625:3032;;;;;;;;;;;:::o;39206:630::-;39541:287;;;;;;;;39584:10;-1:-1:-1;;;;;39541:287:36;;;;;39626:12;-1:-1:-1;;;;;39541:287:36;;;;;39671:27;39541:287;;;;;;39730:27;39541:287;;;;39789:27;39541:287;;;39484:45;39514:14;39484:29;:45::i;:::-;:344;;:54;;;:344;;;;;;;;;;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;;;;;39484:344:36;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;39484:344:36;;;-1:-1:-1;;;;;39484:344:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;;:344;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;39206:630:36: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;3503:307:28:-;3587:12;3617:186;3634:2;3624:7;:12;3617:186;;;3659:8;3668:7;3659:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;3659:22:28;3655:68;3702:5;3655:68;3766:10;;3617:186;;;3503:307;;;:::o;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;6109:1231::-;6220:19;6182:4;1170:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;6336:10:::1;6349:51;6360:4;:11;;;6373:4;:26;;;6349:10;:51::i;:::-;6336:64:::0;-1:-1:-1;6426:7:66::1;6336:64:::0;6432:1:::1;6426:7;:::i;:::-;-1:-1:-1::0;;;;;6415:19:66::1;-1:-1:-1::0;;;;;6415:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6407:27;;6446:7;6441:739;6464:3;-1:-1:-1::0;;;;;6459:8:66::1;:2;:8;6441:739;;;6536:13;:4;:11;:13::i;:::-;6529:20;;6635:11;:4;:9;:11::i;:::-;6623:5;6629:2;6623:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1170:1;6659:34;;:4;:14;;;:34;;::::0;6655:518:::1;;6706:23;6732:16;:4;:14;:16::i;:::-;6706:42;;6831:9;6860:1;6841:9;:16;:20;;;;:::i;:::-;6831:31;;;;;;;;:::i;:::-;;;;;;;6824:38;;6695:177;6655:518;;;1217:1;6882:32;;:4;:14;;;:32;;::::0;6878:295:::1;;6927:23;6953:14;:4;:12;:14::i;6878:295::-;7152:11;:4;:9;:11::i;:::-;;6878:295;6469:5;;6441:739;;;;7330:4;7317:5;7323:3;-1:-1:-1::0;;;;;7317:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6244:1096;6109:1231:::0;;;;;:::o;17859:209::-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;17990:72:::1;18009:4;:11;;;18029:4;:26;;;17990:10;:72::i;:::-;-1:-1:-1::0;;;;;17983:79:66::1;::::0;17859:209;-1:-1:-1;;;;17859:209:66:o;3010:1033::-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:66;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:66;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:66;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:66::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:66;-1:-1:-1;;;;3569:27:66;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:66::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:66;;43940:4:84;43928:17;;3859:31:66::1;::::0;::::1;43910:36:84::0;43883:18;;3859:31:66::1;43766:186:84::0;3802:96:66::1;-1:-1:-1::0;3911:126:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3911:126:66;;3010:1033;-1:-1:-1;3010:1033:66:o;8833:697::-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:66;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;:::-;9360:26;;;;9318:76;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:66;;9400:67;9480:44;;-1:-1:-1;;;9480:44:66;;43940:4:84;43928:17;;9480:44:66;;;43910:36:84;43883:18;;9480:44:66;43766:186:84;4400:208:66;4471:22;;:::i;:::-;2152:11;;:16;;:23;2130:18;;;;;:45;;4505:98;;4549:11;;4538:23;;:10;:23::i;4505:98::-;-1:-1:-1;4591:4:66;4400:208::o;4049:345::-;4125:22;;:::i;:::-;4166:222;;;;;;;;;4188:11;;-1:-1:-1;;;;;;;;;;;;;;2776:55:65;;;;;;;;2791:11;;2776:55;;-1:-1:-1;2811:13:65;;;;2776:55;;;;4166:222:66;;;;;;;4228:4;:16;;;4166:222;;;;;;4264:4;:14;;;4166:222;;;;;;4310:4;:26;;;4166:222;;;;;;4350:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;;4372:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;4159:229;;4049:345;;;:::o;7346:1309::-;7453:19;7417:4;1217:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310:266:84;1765:101:66;7585:10:::1;7598:51;7609:4;:11;;;7622:4;:26;;;7598:10;:51::i;:::-;:55;::::0;7652:1:::1;7598:55;:::i;:::-;7585:68:::0;-1:-1:-1;7679:7:66::1;7585:68:::0;7685:1:::1;7679:7;:::i;:::-;-1:-1:-1::0;;;;;7668:19:66::1;-1:-1:-1::0;;;;;7668:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7660:27;;7699:7;7694:801;7717:3;-1:-1:-1::0;;;;;7712:8:66::1;:2;:8;7694:801;;;7789:13;:4;:11;:13::i;:::-;7782:20;;7888:11;:4;:9;:11::i;:::-;7876:5;7882:2;7876:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7912:6:::1;7917:1;7912:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7927:14:66::1;::::0;::::1;::::0;:35:::1;;1121:1;7927:35;;7912:50;7908:580;;;8002:14;::::0;;::::1;::::0;7982:54;;-1:-1:-1;;;7982:54:66;;43510:4:84;43498:17;;;7982:54:66::1;::::0;::::1;43480:36:84::0;1121:1:66::1;43532:18:84::0;;;43525:45;43453:18;;7982:54:66::1;43310:266:84::0;7908:580:66::1;8056:14;::::0;::::1;::::0;:34:::1;;1170:1;8056:34;::::0;:70:::1;;-1:-1:-1::0;8094:14:66::1;::::0;::::1;::::0;:32:::1;;1217:1;8094:32;8056:70;8052:436;;;8166:14;::::0;::::1;::::0;8139:23:::1;::::0;8166:34:::1;;1170:1;8166:34;:96;;8248:14;:4;:12;:14::i;:::-;8166:96;;;8216:16;:4;:14;:16::i;:::-;8139:134;;8363:9;8392:1;8373:9;:16;:20;;;;:::i;:::-;8363:31;;;;;;;;:::i;:::-;;;;;;;8356:38;;8128:276;8052:436;;;8467:11;:4;:9;:11::i;:::-;;8052:436;7722:5;;7694:801;;4614:1135:::0;4683:22;;:::i;:::-;4729:14;;;;:32;;;;:86;;-1:-1:-1;4774:14:66;;;;:41;;1022:1;4774:41;4729:86;:263;;;-1:-1:-1;4841:14:66;;;;:41;;1320:1;4841:41;:91;;;;;4930:2;4900:4;:26;;;:32;;;;4841:91;:140;;;;;4979:2;4949:4;:26;;;:32;;;;4841:140;4717:1009;;;5031:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;5009:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4591:4:66;4400:208::o;4717:1009::-;5076:14;;;;:35;;1121:1;5076:35;;:84;;-1:-1:-1;5126:14:66;;;;:34;;1071:1;5126:34;5076:84;5062:664;;;5177:10;5190:51;5201:4;:11;;;5214:4;:26;;;5190:10;:51::i;:::-;5177:64;;5272:3;-1:-1:-1;;;;;5250:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;5062:664:66;;-1:-1:-1;5062:664:66;;5301:14;;;;:34;;1170:1;5301:34;;:79;;-1:-1:-1;5348:14:66;;;;:32;;1217:1;5348:32;5301:79;5289:437;;;5409:51;5420:4;:11;;;5433:4;:26;;;5409:10;:51::i;:::-;-1:-1:-1;;;;;5398:62:66;:8;;;:62;-1:-1:-1;4591:4:66;4400:208::o;5289:437::-;5493:14;;;;:41;;1320:1;5493:41;;;:159;;;5560:4;:26;;;:32;;5590:2;5560:32;;:81;;;;;5609:4;:26;;;:32;;5639:2;5609:32;;5560:81;5480:246;;;5669:49;;-1:-1:-1;;;5669:49:66;;44276:2:84;5669:49:66;;;44258:21:84;44315:2;44295:18;;;44288:30;44354:34;44334:18;;;44327:62;-1:-1:-1;;;44405:18:84;;;44398:37;44452:19;;5669:49:66;44074:403:84;13731:315:65;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:65;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:65;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:65;;;-1:-1:-1;;;;;14288:323:65:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:65;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972:248:84;1000:75:65;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:65;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;5755:348:66:-:0;5826:6;5877:2;5848:4;:26;;;:31;;;5844:254;;;-1:-1:-1;5897:1:66;;5755:348;-1:-1:-1;5755:348:66:o;5844:254::-;5945:2;5916:4;:26;;;:31;;;5912:186;;;6007:2;5978:4;:26;;;:31;;;;:::i;:::-;5972:38;;:1;:38;;5958:53;;5755:348;;;:::o;5912:186::-;6063:26;;;;6041:49;;-1:-1:-1;;;6041:49:66;;43940:4:84;43928:17;;;6041:49:66;;;43910:36:84;43883:18;;6041:49:66;43766:186:84;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:250:84;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:84;238:16;;231:27;14:250::o;269:1072::-;-1:-1:-1;;;670:3:84;663:34;645:3;726:6;720:13;742:75;810:6;805:2;800:3;796:12;789:4;781:6;777:17;742:75;:::i;:::-;877:13;;836:16;;;;899:76;877:13;961:2;953:11;;946:4;934:17;;899:76;:::i;:::-;1036:13;;994:17;;;1058:76;1036:13;1120:2;1112:11;;1105:4;1093:17;;1058:76;:::i;:::-;1195:13;;1153:17;;;1217:76;1195:13;1279:2;1271:11;;1264:4;1252:17;;1217:76;:::i;:::-;1313:17;1332:2;1309:26;;269:1072;-1:-1:-1;;;;;;269:1072:84:o;1346:131::-;-1:-1:-1;;;;;1421:31:84;;1411:42;;1401:70;;1467:1;1464;1457:12;1482:247;1541:6;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;1926:161::-;1993:20;;2053:8;2042:20;;2032:31;;2022:59;;2077:1;2074;2067:12;2092:252;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2272:9;2259:23;2249:33;;2301:37;2334:2;2323:9;2319:18;2301:37;:::i;:::-;2291:47;;2092:252;;;;;:::o;2531:387::-;2614:8;2624:6;2678:3;2671:4;2663:6;2659:17;2655:27;2645:55;;2696:1;2693;2686:12;2645:55;-1:-1:-1;2719:20:84;;-1:-1:-1;;;;;2751:30:84;;2748:50;;;2794:1;2791;2784:12;2748:50;2831:4;2823:6;2819:17;2807:29;;2891:3;2884:4;2874:6;2871:1;2867:14;2859:6;2855:27;2851:38;2848:47;2845:67;;;2908:1;2905;2898:12;2845:67;2531:387;;;;;:::o;2923:489::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3158:9;3145:23;-1:-1:-1;;;;;3183:6:84;3180:30;3177:50;;;3223:1;3220;3213:12;3177:50;3262:90;3344:7;3335:6;3324:9;3320:22;3262:90;:::i;:::-;3371:8;;3236:116;;-1:-1:-1;2923:489:84;-1:-1:-1;;;;2923:489:84:o;3417:180::-;3476:6;3529:2;3517:9;3508:7;3504:23;3500:32;3497:52;;;3545:1;3542;3535:12;3497:52;-1:-1:-1;3568:23:84;;3417:180;-1:-1:-1;3417:180:84:o;3602:270::-;3643:3;3681:5;3675:12;3708:6;3703:3;3696:19;3724:76;3793:6;3786:4;3781:3;3777:14;3770:4;3763:5;3759:16;3724:76;:::i;:::-;3854:2;3833:15;-1:-1:-1;;3829:29:84;3820:39;;;;3861:4;3816:50;;3602:270;-1:-1:-1;;3602:270:84:o;3877:487::-;3993:1;3989;3984:3;3980:11;3976:19;3968:5;3962:12;3958:38;3953:3;3946:51;-1:-1:-1;;;;;4050:4:84;4043:5;4039:16;4033:23;4029:48;4022:4;4017:3;4013:14;4006:72;4139:10;4131:4;4124:5;4120:16;4114:23;4110:40;4103:4;4098:3;4094:14;4087:64;4200:4;4193:5;4189:16;4183:23;4176:4;4171:3;4167:14;4160:47;3928:3;4253:4;4246:5;4242:16;4236:23;4291:4;4284;4279:3;4275:14;4268:28;4312:46;4352:4;4347:3;4343:14;4329:12;4312:46;:::i;4369:263::-;4552:2;4541:9;4534:21;4515:4;4572:54;4622:2;4611:9;4607:18;4599:6;4572:54;:::i;4637:719::-;4752:1;4748;4743:3;4739:11;4735:19;4727:5;4721:12;4717:38;4712:3;4705:51;4817:8;4809:4;4802:5;4798:16;4792:23;4788:38;4781:4;4776:3;4772:14;4765:62;-1:-1:-1;;;;;4880:4:84;4873:5;4869:16;4863:23;4859:50;4852:4;4847:3;4843:14;4836:74;4687:3;4956:4;4949:5;4945:16;4939:23;4994:4;4987;4982:3;4978:14;4971:28;5020:46;5060:4;5055:3;5051:14;5037:12;5020:46;:::i;:::-;5008:58;;5115:4;5108:5;5104:16;5098:23;5091:4;5086:3;5082:14;5075:47;5170:4;5163:5;5159:16;5153:23;5235:4;5218:14;5212:21;5208:32;5201:4;5196:3;5192:14;5185:56;-1:-1:-1;;;;;5302:4:84;5286:14;5282:25;5276:32;5272:57;5266:3;5261;5257:13;5250:80;;5346:4;5339:11;;;4637:719;;;;:::o;5361:260::-;5542:2;5531:9;5524:21;5505:4;5562:53;5611:2;5600:9;5596:18;5588:6;5562:53;:::i;5626:127::-;5687:10;5682:3;5678:20;5675:1;5668:31;5718:4;5715:1;5708:15;5742:4;5739:1;5732:15;5758:145;5844:1;5837:5;5834:12;5824:46;;5850:18;;:::i;:::-;5879;;5758:145::o;5908:219::-;6060:2;6045:18;;6072:49;6049:9;6103:6;6072:49;:::i;6132:127::-;6193:10;6188:3;6184:20;6181:1;6174:31;6224:4;6221:1;6214:15;6248:4;6245:1;6238:15;6264:249;6374:2;6355:13;;-1:-1:-1;;6351:27:84;6339:40;;-1:-1:-1;;;;;6394:34:84;;6430:22;;;6391:62;6388:88;;;6456:18;;:::i;:::-;6492:2;6485:22;-1:-1:-1;;6264:249:84:o;6518:183::-;6578:4;-1:-1:-1;;;;;6603:6:84;6600:30;6597:56;;;6633:18;;:::i;:::-;-1:-1:-1;6678:1:84;6674:14;6690:4;6670:25;;6518:183::o;6706:1028::-;6790:6;6821:2;6864;6852:9;6843:7;6839:23;6835:32;6832:52;;;6880:1;6877;6870:12;6832:52;6920:9;6907:23;-1:-1:-1;;;;;6945:6:84;6942:30;6939:50;;;6985:1;6982;6975:12;6939:50;7008:22;;7061:4;7053:13;;7049:27;-1:-1:-1;7039:55:84;;7090:1;7087;7080:12;7039:55;7126:2;7113:16;7148:43;7188:2;7148:43;:::i;:::-;7220:2;7214:9;7232:31;7260:2;7252:6;7232:31;:::i;:::-;7298:18;;;7386:1;7382:10;;;;7374:19;;7370:28;;;7332:15;;;;-1:-1:-1;7410:19:84;;;7407:39;;;7442:1;7439;7432:12;7407:39;7466:11;;;;7486:217;7502:6;7497:3;7494:15;7486:217;;;7582:3;7569:17;7599:31;7624:5;7599:31;:::i;:::-;7643:18;;7519:12;;;;7681;;;;7486:217;;;7722:6;6706:1028;-1:-1:-1;;;;;;;6706:1028:84:o;7739:156::-;7800:5;7845:2;7836:6;7831:3;7827:16;7823:25;7820:45;;;7861:1;7858;7851:12;7900:309;7997:6;8005;8058:2;8046:9;8037:7;8033:23;8029:32;8026:52;;;8074:1;8071;8064:12;8026:52;8110:9;8097:23;8087:33;;8139:64;8195:7;8190:2;8179:9;8175:18;8139:64;:::i;8214:186::-;8262:4;-1:-1:-1;;;;;8287:6:84;8284:30;8281:56;;;8317:18;;:::i;:::-;-1:-1:-1;8383:2:84;8362:15;-1:-1:-1;;8358:29:84;8389:4;8354:40;;8214:186::o;8405:727::-;8473:6;8526:2;8514:9;8505:7;8501:23;8497:32;8494:52;;;8542:1;8539;8532:12;8494:52;8582:9;8569:23;-1:-1:-1;;;;;8607:6:84;8604:30;8601:50;;;8647:1;8644;8637:12;8601:50;8670:22;;8723:4;8715:13;;8711:27;-1:-1:-1;8701:55:84;;8752:1;8749;8742:12;8701:55;8788:2;8775:16;8810:31;8838:2;8810:31;:::i;:::-;8870:2;8864:9;8882:31;8910:2;8902:6;8882:31;:::i;:::-;8937:2;8929:6;8922:18;8977:7;8972:2;8967;8963;8959:11;8955:20;8952:33;8949:53;;;8998:1;8995;8988:12;8949:53;9054:2;9049;9045;9041:11;9036:2;9028:6;9024:15;9011:46;9099:1;9077:15;;;9094:2;9073:24;9066:35;;;;-1:-1:-1;9081:6:84;8405:727;-1:-1:-1;;;;8405:727:84:o;9599:800::-;9759:4;9788:2;9828;9817:9;9813:18;9858:2;9847:9;9840:21;9881:6;9916;9910:13;9947:6;9939;9932:22;9985:2;9974:9;9970:18;9963:25;;10047:2;10037:6;10034:1;10030:14;10019:9;10015:30;10011:39;9997:53;;10085:2;10077:6;10073:15;10106:1;10116:254;10130:6;10127:1;10124:13;10116:254;;;10223:2;10219:7;10207:9;10199:6;10195:22;10191:36;10186:3;10179:49;10251:39;10283:6;10274;10268:13;10251:39;:::i;:::-;10241:49;-1:-1:-1;10348:12:84;;;;10313:15;;;;10152:1;10145:9;10116:254;;;-1:-1:-1;10387:6:84;;9599:800;-1:-1:-1;;;;;;;9599:800:84:o;10794:219::-;10943:2;10932:9;10925:21;10906:4;10963:44;11003:2;10992:9;10988:18;10980:6;10963:44;:::i;11018:142::-;11101:1;11094:5;11091:12;11081:46;;11107:18;;:::i;11165:668::-;11351:2;11403:21;;;11473:13;;11376:18;;;11495:22;;;11322:4;;11351:2;11574:15;;;;11548:2;11533:18;;;11322:4;11617:190;11631:6;11628:1;11625:13;11617:190;;;11680:47;11723:3;11714:6;11708:13;11680:47;:::i;:::-;11782:15;;;;11747:12;;;;11653:1;11646:9;11617:190;;;-1:-1:-1;11824:3:84;;11165:668;-1:-1:-1;;;;;;11165:668:84:o;11838:347::-;11889:8;11899:6;11953:3;11946:4;11938:6;11934:17;11930:27;11920:55;;11971:1;11968;11961:12;11920:55;-1:-1:-1;11994:20:84;;-1:-1:-1;;;;;12026:30:84;;12023:50;;;12069:1;12066;12059:12;12023:50;12106:4;12098:6;12094:17;12082:29;;12158:3;12151:4;12142:6;12134;12130:19;12126:30;12123:39;12120:59;;;12175:1;12172;12165:12;12190:545;12278:6;12286;12294;12302;12355:2;12343:9;12334:7;12330:23;12326:32;12323:52;;;12371:1;12368;12361:12;12323:52;12407:9;12394:23;12384:33;;12464:2;12453:9;12449:18;12436:32;12426:42;;12519:2;12508:9;12504:18;12491:32;-1:-1:-1;;;;;12538:6:84;12535:30;12532:50;;;12578:1;12575;12568:12;12532:50;12617:58;12667:7;12658:6;12647:9;12643:22;12617:58;:::i;:::-;12190:545;;;;-1:-1:-1;12694:8:84;-1:-1:-1;;;;12190:545:84:o;12740:213::-;12889:2;12874:18;;12901:46;12878:9;12929:6;12901:46;:::i;13403:117::-;13488:6;13481:5;13477:18;13470:5;13467:29;13457:57;;13510:1;13507;13500:12;13525:313;13592:6;13600;13653:2;13641:9;13632:7;13628:23;13624:32;13621:52;;;13669:1;13666;13659:12;13621:52;13705:9;13692:23;13682:33;;13765:2;13754:9;13750:18;13737:32;13778:30;13802:5;13778:30;:::i;:::-;13827:5;13817:15;;;13525:313;;;;;:::o;14065:902::-;14189:6;14197;14205;14213;14221;14229;14282:3;14270:9;14261:7;14257:23;14253:33;14250:53;;;14299:1;14296;14289:12;14250:53;14339:9;14326:23;-1:-1:-1;;;;;14409:2:84;14401:6;14398:14;14395:34;;;14425:1;14422;14415:12;14395:34;14464:90;14546:7;14537:6;14526:9;14522:22;14464:90;:::i;:::-;14573:8;;-1:-1:-1;14438:116:84;-1:-1:-1;14661:2:84;14646:18;;14633:32;;-1:-1:-1;14677:16:84;;;14674:36;;;14706:1;14703;14696:12;14674:36;;14745:60;14797:7;14786:8;14775:9;14771:24;14745:60;:::i;:::-;14065:902;;;;-1:-1:-1;14824:8:84;14906:2;14891:18;;14878:32;;14957:2;14942:18;;;14929:32;;-1:-1:-1;14065:902:84;-1:-1:-1;;;;14065:902:84:o;15225:248::-;15293:6;15301;15354:2;15342:9;15333:7;15329:23;15325:32;15322:52;;;15370:1;15367;15360:12;15322:52;-1:-1:-1;;15393:23:84;;;15463:2;15448:18;;;15435:32;;-1:-1:-1;15225:248:84:o;15478:611::-;15594:6;15602;15610;15618;15671:3;15659:9;15650:7;15646:23;15642:33;15639:53;;;15688:1;15685;15678:12;15639:53;15728:9;15715:23;-1:-1:-1;;;;;15753:6:84;15750:30;15747:50;;;15793:1;15790;15783:12;15747:50;15832:58;15882:7;15873:6;15862:9;15858:22;15832:58;:::i;:::-;15909:8;;-1:-1:-1;15806:84:84;-1:-1:-1;15963:64:84;;-1:-1:-1;16019:7:84;16014:2;15999:18;;15963:64;:::i;:::-;15953:74;;16046:37;16079:2;16068:9;16064:18;16046:37;:::i;:::-;16036:47;;15478:611;;;;;;;:::o;16094:149::-;16182:3;16175:5;16172:14;16162:48;;16190:18;;:::i;16248:435::-;16437:2;16426:9;16419:21;16449:67;16512:2;16501:9;16497:18;16488:6;16482:13;16449:67;:::i;:::-;16400:4;16563:2;16555:6;16551:15;16545:22;16605:4;16598;16587:9;16583:20;16576:34;16627:50;16673:2;16662:9;16658:18;16644:12;16627:50;:::i;16688:546::-;16865:2;16854:9;16847:21;16828:4;16903:6;16897:13;16946:4;16941:2;16930:9;16926:18;16919:32;16974:59;17029:2;17018:9;17014:18;17000:12;16974:59;:::i;:::-;16960:73;;17082:2;17074:6;17070:15;17064:22;17156:2;17152:7;17140:9;17132:6;17128:22;17124:36;17117:4;17106:9;17102:20;17095:66;17178:50;17221:6;17205:14;17178:50;:::i;17239:163::-;17306:20;;17366:10;17355:22;;17345:33;;17335:61;;17392:1;17389;17382:12;17407:618;17503:6;17511;17519;17527;17535;17588:3;17576:9;17567:7;17563:23;17559:33;17556:53;;;17605:1;17602;17595:12;17556:53;17641:9;17628:23;17618:33;;17670:37;17703:2;17692:9;17688:18;17670:37;:::i;:::-;17660:47;;17754:2;17743:9;17739:18;17726:32;17716:42;;17809:2;17798:9;17794:18;17781:32;-1:-1:-1;;;;;17828:6:84;17825:30;17822:50;;;17868:1;17865;17858:12;17822:50;17907:58;17957:7;17948:6;17937:9;17933:22;17907:58;:::i;:::-;17407:618;;;;-1:-1:-1;17407:618:84;;-1:-1:-1;17984:8:84;;17881:84;17407:618;-1:-1:-1;;;17407:618:84:o;18488:382::-;18593:6;18601;18609;18662:3;18650:9;18641:7;18637:23;18633:33;18630:53;;;18679:1;18676;18669:12;18630:53;18715:9;18702:23;18692:33;;18744:64;18800:7;18795:2;18784:9;18780:18;18744:64;:::i;:::-;18734:74;;18827:37;18860:2;18849:9;18845:18;18827:37;:::i;:::-;18817:47;;18488:382;;;;;:::o;18875:641::-;19155:3;19193:6;19187:13;19209:66;19268:6;19263:3;19256:4;19248:6;19244:17;19209:66;:::i;:::-;-1:-1:-1;;;19297:16:84;;;19322:19;;;19366:13;;19388:78;19366:13;19453:1;19442:13;;19435:4;19423:17;;19388:78;:::i;:::-;19486:20;19508:1;19482:28;;18875:641;-1:-1:-1;;;;18875:641:84:o;19521:127::-;19582:10;19577:3;19573:20;19570:1;19563:31;19613:4;19610:1;19603:15;19637:4;19634:1;19627:15;19653:127;19714:10;19709:3;19705:20;19702:1;19695:31;19745:4;19742:1;19735:15;19769:4;19766:1;19759:15;19785:165;19823:1;19857:4;19854:1;19850:12;19881:3;19871:37;;19888:18;;:::i;:::-;19940:3;19933:4;19930:1;19926:12;19922:22;19917:27;;;19785:165;;;;:::o;19955:148::-;20043:4;20022:12;;;20036;;;20018:31;;20061:13;;20058:39;;;20077:18;;:::i;20108:157::-;20138:1;20172:4;20169:1;20165:12;20196:3;20186:37;;20203:18;;:::i;:::-;20255:3;20248:4;20245:1;20241:12;20237:22;20232:27;;;20108:157;;;;:::o;20270:127::-;20331:10;20326:3;20322:20;20319:1;20312:31;20362:4;20359:1;20352:15;20386:4;20383:1;20376:15;20402:168;20475:9;;;20506;;20523:15;;;20517:22;;20503:37;20493:71;;20544:18;;:::i;20575:125::-;20640:9;;;20661:10;;;20658:36;;;20674:18;;:::i;20705:330::-;20803:4;20861:11;20848:25;20955:3;20951:8;20940;20924:14;20920:29;20916:44;20896:18;20892:69;20882:97;;20975:1;20972;20965:12;20882:97;20996:33;;;;;20705:330;-1:-1:-1;;20705:330:84:o;21266:489::-;21320:5;21373:3;21366:4;21358:6;21354:17;21350:27;21340:55;;21391:1;21388;21381:12;21340:55;21420:6;21414:13;21446:31;21474:2;21446:31;:::i;:::-;21506:2;21500:9;21518:31;21546:2;21538:6;21518:31;:::i;:::-;21573:2;21565:6;21558:18;21619:3;21612:4;21607:2;21599:6;21595:15;21591:26;21588:35;21585:55;;;21636:1;21633;21626:12;21585:55;21649:76;21722:2;21715:4;21707:6;21703:17;21696:4;21688:6;21684:17;21649:76;:::i;21760:337::-;21840:6;21893:2;21881:9;21872:7;21868:23;21864:32;21861:52;;;21909:1;21906;21899:12;21861:52;21942:9;21936:16;-1:-1:-1;;;;;21967:6:84;21964:30;21961:50;;;22007:1;22004;21997:12;21961:50;22030:61;22083:7;22074:6;22063:9;22059:22;22030:61;:::i;22102:290::-;22279:6;22268:9;22261:25;22322:2;22317;22306:9;22302:18;22295:30;22242:4;22342:44;22382:2;22371:9;22367:18;22359:6;22342:44;:::i;22397:184::-;22455:6;22508:2;22496:9;22487:7;22483:23;22479:32;22476:52;;;22524:1;22521;22514:12;22476:52;22547:28;22565:9;22547:28;:::i;22586:521::-;22663:4;22669:6;22729:11;22716:25;22823:2;22819:7;22808:8;22792:14;22788:29;22784:43;22764:18;22760:68;22750:96;;22842:1;22839;22832:12;22750:96;22869:33;;22921:20;;;-1:-1:-1;;;;;;22953:30:84;;22950:50;;;22996:1;22993;22986:12;22950:50;23029:4;23017:17;;-1:-1:-1;23060:14:84;23056:27;;;23046:38;;23043:58;;;23097:1;23094;23087:12;23112:473;23344:3;23382:6;23376:13;23398:66;23457:6;23452:3;23445:4;23437:6;23433:17;23398:66;:::i;:::-;-1:-1:-1;;;23486:16:84;;23511:38;;;-1:-1:-1;23576:2:84;23565:14;;23112:473;-1:-1:-1;23112:473:84:o;23590:380::-;23669:1;23665:12;;;;23712;;;23733:61;;23787:4;23779:6;23775:17;23765:27;;23733:61;23840:2;23832:6;23829:14;23809:18;23806:38;23803:161;;23886:10;23881:3;23877:20;23874:1;23867:31;23921:4;23918:1;23911:15;23949:4;23946:1;23939:15;23975:658;24146:2;24198:21;;;24268:13;;24171:18;;;24290:22;;;24117:4;;24146:2;24369:15;;;;24343:2;24328:18;;;24117:4;24412:195;24426:6;24423:1;24420:13;24412:195;;;24491:13;;-1:-1:-1;;;;;24487:39:84;24475:52;;24582:15;;;;24547:12;;;;24523:1;24441:9;24412:195;;24638:114;24722:4;24715:5;24711:16;24704:5;24701:27;24691:55;;24742:1;24739;24732:12;24757:129;-1:-1:-1;;;;;24835:5:84;24831:30;24824:5;24821:41;24811:69;;24876:1;24873;24866:12;24891:629;25150:25;;;25206:2;25191:18;;25184:34;;;25137:3;25122:19;;25240:20;;25269:29;25240:20;25269:29;:::i;:::-;25345:4;25334:16;25329:2;25314:18;;25307:44;25400:2;25388:15;;25375:29;25413:32;25375:29;25413:32;:::i;:::-;-1:-1:-1;;;;;25485:7:84;25481:32;25476:2;25465:9;25461:18;25454:60;;24891:629;;;;;;:::o;25525:472::-;25621:6;25629;25682:2;25670:9;25661:7;25657:23;25653:32;25650:52;;;25698:1;25695;25688:12;25650:52;25730:9;25724:16;25749:31;25774:5;25749:31;:::i;:::-;25848:2;25833:18;;25827:25;25799:5;;-1:-1:-1;;;;;;25864:30:84;;25861:50;;;25907:1;25904;25897:12;25861:50;25930:61;25983:7;25974:6;25963:9;25959:22;25930:61;:::i;:::-;25920:71;;;25525:472;;;;;:::o;26002:1018::-;26097:6;26128:2;26171;26159:9;26150:7;26146:23;26142:32;26139:52;;;26187:1;26184;26177:12;26139:52;26220:9;26214:16;-1:-1:-1;;;;;26245:6:84;26242:30;26239:50;;;26285:1;26282;26275:12;26239:50;26308:22;;26361:4;26353:13;;26349:27;-1:-1:-1;26339:55:84;;26390:1;26387;26380:12;26339:55;26419:2;26413:9;26441:43;26481:2;26441:43;:::i;:::-;26513:2;26507:9;26525:31;26553:2;26545:6;26525:31;:::i;:::-;26591:18;;;26679:1;26675:10;;;;26667:19;;26663:28;;;26625:15;;;;-1:-1:-1;26703:19:84;;;26700:39;;;26735:1;26732;26725:12;26700:39;26759:11;;;;26779:210;26795:6;26790:3;26787:15;26779:210;;;26868:3;26862:10;26885:31;26910:5;26885:31;:::i;:::-;26929:18;;26812:12;;;;26967;;;;26779:210;;27025:290;27094:6;27147:2;27135:9;27126:7;27122:23;27118:32;27115:52;;;27163:1;27160;27153:12;27115:52;27189:16;;-1:-1:-1;;;;;;27234:32:84;;27224:43;;27214:71;;27281:1;27278;27271:12;27320:271;27410:6;27463:2;27451:9;27442:7;27438:23;27434:32;27431:52;;;27479:1;27476;27469:12;27431:52;27511:9;27505:16;27530:31;27555:5;27530:31;:::i;27882:578::-;-1:-1:-1;;;;;28137:32:84;;28119:51;;28206:2;28201;28186:18;;28179:30;;;28225:18;;28218:34;;;-1:-1:-1;;;;;;28264:31:84;;28261:51;;;28308:1;28305;28298:12;28261:51;28342:6;28339:1;28335:14;28399:6;28391;28386:2;28375:9;28371:18;28358:48;28427:22;;;;28451:2;28423:31;;27882:578;-1:-1:-1;;;;27882:578:84:o;28465:1195::-;28569:6;28600:2;28643;28631:9;28622:7;28618:23;28614:32;28611:52;;;28659:1;28656;28649:12;28611:52;28692:9;28686:16;-1:-1:-1;;;;;28762:2:84;28754:6;28751:14;28748:34;;;28778:1;28775;28768:12;28748:34;28816:6;28805:9;28801:22;28791:32;;28861:7;28854:4;28850:2;28846:13;28842:27;28832:55;;28883:1;28880;28873:12;28832:55;28912:2;28906:9;28934:43;28974:2;28934:43;:::i;:::-;29006:2;29000:9;29018:31;29046:2;29038:6;29018:31;:::i;:::-;29084:18;;;29172:1;29168:10;;;;29160:19;;29156:28;;;29118:15;;;;-1:-1:-1;29196:19:84;;;29193:39;;;29228:1;29225;29218:12;29193:39;29260:2;29256;29252:11;29272:357;29288:6;29283:3;29280:15;29272:357;;;29367:3;29361:10;29403:2;29390:11;29387:19;29384:109;;;29447:1;29476:2;29472;29465:14;29384:109;29518:68;29578:7;29573:2;29559:11;29555:2;29551:20;29547:29;29518:68;:::i;:::-;29506:81;;-1:-1:-1;29607:12:84;;;;29305;;29272:357;;;-1:-1:-1;29648:6:84;28465:1195;-1:-1:-1;;;;;;;;28465:1195:84:o;30354:171::-;30422:6;30461:10;;;30449;;;30445:27;;30484:12;;;30481:38;;;30499:18;;:::i;30530:187::-;30569:1;30595:6;30628:2;30625:1;30621:10;30650:3;30640:37;;30657:18;;:::i;:::-;30695:10;;30691:20;;;;;30530:187;-1:-1:-1;;30530:187:84:o;30722:168::-;30789:6;30815:10;;;30827;;;30811:27;;30850:11;;;30847:37;;;30864:18;;:::i;30895:249::-;30964:6;31017:2;31005:9;30996:7;30992:23;30988:32;30985:52;;;31033:1;31030;31023:12;30985:52;31065:9;31059:16;31084:30;31108:5;31084:30;:::i;31149:277::-;31216:6;31269:2;31257:9;31248:7;31244:23;31240:32;31237:52;;;31285:1;31282;31275:12;31237:52;31317:9;31311:16;31370:5;31363:13;31356:21;31349:5;31346:32;31336:60;;31392:1;31389;31382:12;31556:542;31657:2;31652:3;31649:11;31646:446;;;31693:1;31717:5;31714:1;31707:16;31761:4;31758:1;31748:18;31831:2;31819:10;31815:19;31812:1;31808:27;31802:4;31798:38;31867:4;31855:10;31852:20;31849:47;;;-1:-1:-1;31890:4:84;31849:47;31945:2;31940:3;31936:12;31933:1;31929:20;31923:4;31919:31;31909:41;;32000:82;32018:2;32011:5;32008:13;32000:82;;;32063:17;;;32044:1;32033:13;32000:82;;;32004:3;;;31556:542;;;:::o;32274:1202::-;-1:-1:-1;;;;;32391:3:84;32388:27;32385:53;;;32418:18;;:::i;:::-;32447:93;32536:3;32496:38;32528:4;32522:11;32496:38;:::i;:::-;32490:4;32447:93;:::i;:::-;32566:1;32591:2;32586:3;32583:11;32608:1;32603:615;;;;33262:1;33279:3;33276:93;;;-1:-1:-1;33335:19:84;;;33322:33;33276:93;-1:-1:-1;;32231:1:84;32227:11;;;32223:24;32219:29;32209:40;32255:1;32251:11;;;32206:57;33382:78;;32576:894;;32603:615;31503:1;31496:14;;;31540:4;31527:18;;-1:-1:-1;;32639:17:84;;;32739:9;32761:229;32775:7;32772:1;32769:14;32761:229;;;32864:19;;;32851:33;32836:49;;32971:4;32956:20;;;;32924:1;32912:14;;;;32791:12;32761:229;;;32765:3;33018;33009:7;33006:16;33003:159;;;33142:1;33138:6;33132:3;33126;33123:1;33119:11;33115:21;33111:34;33107:39;33094:9;33089:3;33085:19;33072:33;33068:79;33060:6;33053:95;33003:159;;;33205:1;33199:3;33196:1;33192:11;33188:19;33182:4;33175:33;32576:894;;;32274:1202;;;:::o;33481:182::-;-1:-1:-1;;;;;33588:10:84;;;33600;;;33584:27;;33623:11;;;33620:37;;;33637:18;;:::i;34271:767::-;34560:6;34549:9;34542:25;34603:3;34598:2;34587:9;34583:18;34576:31;34644:6;34638:3;34627:9;34623:19;34616:35;34702:6;34694;34688:3;34677:9;34673:19;34660:49;34759:1;34753:3;34744:6;34733:9;34729:22;34725:32;34718:43;34523:4;34820:2;34816:7;34811:2;34803:6;34799:15;34795:29;34784:9;34780:45;34861:6;34856:2;34845:9;34841:18;34834:34;34904:6;34899:2;34888:9;34884:18;34877:34;34972:3;34960:9;34956:2;34952:18;34948:28;34942:3;34931:9;34927:19;34920:57;34994:38;35027:3;35023:2;35019:12;35011:6;34994:38;:::i;:::-;34986:46;34271:767;-1:-1:-1;;;;;;;;;34271:767:84:o;35043:245::-;35101:6;35154:2;35142:9;35133:7;35129:23;35125:32;35122:52;;;35170:1;35167;35160:12;35122:52;35209:9;35196:23;35228:30;35252:5;35228:30;:::i;35293:243::-;35350:6;35403:2;35391:9;35382:7;35378:23;35374:32;35371:52;;;35419:1;35416;35409:12;35371:52;35458:9;35445:23;35477:29;35500:5;35477:29;:::i;35541:135::-;35580:3;35601:17;;;35598:43;;35621:18;;:::i;:::-;-1:-1:-1;35668:1:84;35657:13;;35541:135::o;35681:542::-;35850:5;35837:19;35865:31;35888:7;35865:31;:::i;:::-;35928:4;35919:7;35915:18;35905:28;;35958:4;35952:11;36007:2;36000:3;35996:8;35992:2;35988:17;35985:25;35979:4;35972:39;36059:2;36052:5;36048:14;36035:28;36072:32;36096:7;36072:32;:::i;:::-;36194:20;36184:7;36181:1;36177:15;36173:42;36168:2;-1:-1:-1;;;;;36140:25:84;36136:2;36132:34;36129:42;36126:90;36120:4;36113:104;;;;35681:542;;:::o;36228:257::-;-1:-1:-1;;;;;36349:10:84;;;36361;;;36345:27;36392:20;;;;36299:18;36431:24;;;36421:58;;36459:18;;:::i;:::-;36421:58;;36228:257;;;;:::o;36490:1081::-;36670:49;36709:9;36701:6;36670:49;:::i;:::-;36651:4;36738:2;36776;36771;36760:9;36756:18;36749:30;36799:1;36832:6;36826:13;36862:36;36888:9;36862:36;:::i;:::-;36934:6;36929:2;36918:9;36914:18;36907:34;36960:2;36981:1;37013;37002:9;36998:17;37029:1;37024:158;;;;37196:1;37191:354;;;;36991:554;;37024:158;37091:3;37087:8;37076:9;37072:24;37067:2;37056:9;37052:18;37045:52;37169:2;37157:6;37150:14;37143:22;37140:1;37136:30;37125:9;37121:46;37117:55;37110:62;;37024:158;;37191:354;37222:6;37219:1;37212:17;37270:2;37267:1;37257:16;37295:1;37309:180;37323:6;37320:1;37317:13;37309:180;;;37416:14;;37392:17;;;37388:26;;37381:50;37459:16;;;;37338:10;;37309:180;;;37513:17;;37532:2;37509:26;;-1:-1:-1;;36991:554:84;-1:-1:-1;37562:3:84;;36490:1081;-1:-1:-1;;;;;;;;;36490:1081:84:o;37576:902::-;37676:6;37729:2;37717:9;37708:7;37704:23;37700:32;37697:52;;;37745:1;37742;37735:12;37697:52;37778:9;37772:16;-1:-1:-1;;;;;37848:2:84;37840:6;37837:14;37834:34;;;37864:1;37861;37854:12;37834:34;37887:22;;;;37943:4;37925:16;;;37921:27;37918:47;;;37961:1;37958;37951:12;37918:47;37994:4;37988:11;38038:4;38030:6;38026:17;38093:6;38081:10;38078:22;38073:2;38061:10;38058:18;38055:46;38052:72;;;38104:18;;:::i;:::-;38140:4;38133:24;38179:9;;38217:3;38207:14;;38197:42;;38235:1;38232;38225:12;38197:42;38248:21;;38308:2;38300:11;;38294:18;38324:16;;;38321:36;;;38353:1;38350;38343:12;38321:36;38390:56;38438:7;38427:8;38423:2;38419:17;38390:56;:::i;:::-;38385:2;38373:15;;38366:81;-1:-1:-1;38377:6:84;37576:902;-1:-1:-1;;;;;37576:902:84:o;38483:179::-;38518:3;38560:1;38542:16;38539:23;38536:120;;;38606:1;38603;38600;38585:23;-1:-1:-1;38643:1:84;38637:8;38632:3;38628:18;38536:120;38483:179;:::o;38667:671::-;38706:3;38748:4;38730:16;38727:26;38724:39;;;38667:671;:::o;38724:39::-;38790:2;38784:9;-1:-1:-1;;38855:16:84;38851:25;;38848:1;38784:9;38827:50;38906:4;38900:11;38930:16;-1:-1:-1;;;;;39036:2:84;39029:4;39021:6;39017:17;39014:25;39009:2;39001:6;38998:14;38995:45;38992:58;;;39043:5;;;;;38667:671;:::o;38992:58::-;39080:6;39074:4;39070:17;39059:28;;39116:3;39110:10;39143:2;39135:6;39132:14;39129:27;;;39149:5;;;;;;38667:671;:::o;39129:27::-;39233:2;39214:16;39208:4;39204:27;39200:36;39193:4;39184:6;39179:3;39175:16;39171:27;39168:69;39165:82;;;39240:5;;;;;;38667:671;:::o;39165:82::-;39256:57;39307:4;39298:6;39290;39286:19;39282:30;39276:4;39256:57;:::i;:::-;-1:-1:-1;39329:3:84;;38667:671;-1:-1:-1;;;;;38667:671:84:o;39343:449::-;-1:-1:-1;;;39600:3:84;39593:32;39575:3;39654:6;39648:13;39670:75;39738:6;39733:2;39728:3;39724:12;39717:4;39709:6;39705:17;39670:75;:::i;:::-;39765:16;;;;39783:2;39761:25;;39343:449;-1:-1:-1;;39343:449:84:o;39797:779::-;39844:3;39888:5;39882:12;39915:4;39910:3;39903:17;39957:12;39951:19;40002:4;39995;39990:3;39986:14;39979:28;40028:47;40070:3;40065;40061:13;40045:14;40028:47;:::i;:::-;40016:59;;40130:4;40116:12;40112:23;40106:30;40100:3;40095;40091:13;40084:53;40198:4;40190;40183:5;40179:16;40173:23;40169:34;40162:4;40157:3;40153:14;40146:58;40265:4;40257;40250:5;40246:16;40240:23;40236:34;40229:4;40224:3;40220:14;40213:58;40332:4;40324;40317:5;40313:16;40307:23;40303:34;40296:4;40291:3;40287:14;40280:58;40386:4;40379:5;40375:16;40369:23;40347:45;;-1:-1:-1;;;;;40481:2:84;40465:14;40461:23;40454:4;40449:3;40445:14;40438:47;40546:2;40538:4;40531:5;40527:16;40521:23;40517:32;40510:4;40505:3;40501:14;40494:56;;40566:4;40559:11;;;;39797:779;;;;:::o;40581:679::-;40914:6;40903:9;40896:25;-1:-1:-1;;;;;40961:6:84;40957:31;40952:2;40941:9;40937:18;40930:59;41025:6;41020:2;41009:9;41005:18;40998:34;41068:6;41063:2;41052:9;41048:18;41041:34;41084:61;41140:3;41129:9;41125:19;41117:6;41084:61;:::i;:::-;41182:3;41176;41165:9;41161:19;41154:32;40877:4;41203:51;41249:3;41238:9;41234:19;41226:6;41203:51;:::i;:::-;41195:59;40581:679;-1:-1:-1;;;;;;;;40581:679:84:o;41265:561::-;41550:6;41539:9;41532:25;-1:-1:-1;;;;;41597:6:84;41593:31;41588:2;41577:9;41573:18;41566:59;41661:6;41656:2;41645:9;41641:18;41634:34;41704:6;41699:2;41688:9;41684:18;41677:34;41748:3;41742;41731:9;41727:19;41720:32;41513:4;41769:51;41815:3;41804:9;41800:19;41792:6;41769:51;:::i;41831:128::-;41898:9;;;41919:11;;;41916:37;;;41933:18;;:::i;41964:1341::-;42088:3;42082:10;-1:-1:-1;;;;;42107:6:84;42104:30;42101:56;;;42137:18;;:::i;:::-;42166:96;42255:6;42215:38;42247:4;42241:11;42215:38;:::i;:::-;42209:4;42166:96;:::i;:::-;42317:4;;42374:2;42363:14;;42391:1;42386:662;;;;43092:1;43109:6;43106:89;;;-1:-1:-1;43161:19:84;;;43155:26;43106:89;-1:-1:-1;;32231:1:84;32227:11;;;32223:24;32219:29;32209:40;32255:1;32251:11;;;32206:57;43208:81;;42356:943;;42386:662;31503:1;31496:14;;;31540:4;31527:18;;-1:-1:-1;;42422:20:84;;;42539:236;42553:7;42550:1;42547:14;42539:236;;;42642:19;;;42636:26;42621:42;;42734:27;;;;42702:1;42690:14;;;;42569:19;;42539:236;;;42543:3;42803:6;42794:7;42791:19;42788:201;;;42864:19;;;42858:26;-1:-1:-1;;42947:1:84;42943:14;;;42959:3;42939:24;42935:37;42931:42;42916:58;42901:74;;42788:201;-1:-1:-1;;;;;43035:1:84;43019:14;;;43015:22;43002:36;;-1:-1:-1;41964:1341:84:o;43581:180::-;-1:-1:-1;;;;;43686:10:84;;;43698;;;43682:27;;43721:11;;;43718:37;;;43735:18;;:::i;43957:112::-;43989:1;44015;44005:35;;44020:18;;:::i;:::-;-1:-1:-1;44054:9:84;;43957:112::o;44482:151::-;44572:4;44565:12;;;44551;;;44547:31;;44590:14;;44587:40;;;44607:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\n/* solhint-disable var-name-mixedcase */\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"../defaults/WitnetOracleTrustableDefault.sol\";\r\n\r\n/// @title Witnet Request Board \"trustable\" implementation contract.\r\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\r\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\r\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\r\n/// @author The Witnet Foundation\r\ncontract WitnetOracleTrustableObscuro\r\n    is \r\n        WitnetOracleTrustableDefault\r\n{\r\n    function class() virtual override public view returns (string memory) {\r\n        return type(WitnetOracleTrustableObscuro).name;\r\n    }\r\n\r\n    constructor(\r\n            WitnetRequestFactory _factory,\r\n            WitnetRequestBytecodes _registry,\r\n            bool _upgradable,\r\n            bytes32 _versionTag,\r\n            uint256 _reportResultGasBase,\r\n            uint256 _reportResultWithCallbackGasBase,\r\n            uint256 _reportResultWithCallbackRevertGasBase,\r\n            uint256 _sstoreFromZeroGas\r\n        )\r\n        WitnetOracleTrustableDefault(\r\n            _factory, \r\n            _registry,\r\n            _upgradable, \r\n            _versionTag,\r\n            _reportResultGasBase,\r\n            _reportResultWithCallbackGasBase,\r\n            _reportResultWithCallbackRevertGasBase,\r\n            _sstoreFromZeroGas\r\n        )\r\n    {}\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides implementation of 'IWitnetOracleView' ------------------------------------------------------\r\n\r\n    /// @notice Gets the whole Query data contents, if any, no matter its current status.\r\n    /// @dev Fails if or if `msg.sender` is not the actual requester.\r\n    function getQuery(uint256 _queryId)\r\n        public view\r\n        virtual override\r\n        onlyRequester(_queryId)\r\n        returns (WitnetV2.Query memory)\r\n    {\r\n        return WitnetOracleTrustableBase.getQuery(_queryId);\r\n    }\r\n\r\n    /// @notice Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\r\n    /// @dev Fails if the `_queryId` is not in 'Reported' status, or if `msg.sender` is not the actual requester.\r\n    /// @param _queryId The unique query identifier\r\n    function getQueryResponse(uint256 _queryId)\r\n        public view\r\n        virtual override\r\n        onlyRequester(_queryId)\r\n        returns (WitnetV2.Response memory _response)\r\n    {\r\n        return WitnetOracleTrustableBase.getQueryResponse(_queryId);\r\n    }\r\n\r\n    /// @notice Gets error code identifying some possible failure on the resolution of the given query.\r\n    /// @param _queryId The unique query identifier.\r\n    function getQueryResultError(uint256 _queryId)\r\n        public view\r\n        virtual override\r\n        onlyRequester(_queryId)\r\n        returns (Witnet.ResultError memory)\r\n    {\r\n        return WitnetOracleTrustableBase.getQueryResultError(_queryId);\r\n    }\r\n    \r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\core\\customs\\WitnetOracleTrustableObscuro.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/customs/WitnetOracleTrustableObscuro.sol",
    "exportedSymbols": {
      "Context": [
        509
      ],
      "ERC165": [
        602
      ],
      "IERC165": [
        614
      ],
      "IERC20": [
        479
      ],
      "IWitnetConsumer": [
        12829
      ],
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetOracleReporter": [
        13398
      ],
      "IWitnetRequestBoardAdminACLs": [
        13758
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Initializable": [
        253
      ],
      "Ownable": [
        401
      ],
      "Ownable2Step": [
        24094
      ],
      "Payable": [
        24145
      ],
      "Proxiable": [
        24189
      ],
      "ReentrancyGuard": [
        578
      ],
      "Upgradeable": [
        24304
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetErrorsLib": [
        23206
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetOracleDataLib": [
        12396
      ],
      "WitnetOracleTrustableBase": [
        6817
      ],
      "WitnetOracleTrustableDefault": [
        7013
      ],
      "WitnetOracleTrustableObscuro": [
        4321
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 4322,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4214,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "79:31:31"
      },
      {
        "id": 4215,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "112:33:31"
      },
      {
        "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol",
        "file": "../defaults/WitnetOracleTrustableDefault.sol",
        "id": 4216,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4322,
        "sourceUnit": 7014,
        "src": "149:54:31",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 4218,
              "name": "WitnetOracleTrustableDefault",
              "nameLocations": [
                "649:28:31"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7013,
              "src": "649:28:31"
            },
            "id": 4219,
            "nodeType": "InheritanceSpecifier",
            "src": "649:28:31"
          }
        ],
        "canonicalName": "WitnetOracleTrustableObscuro",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 4217,
          "nodeType": "StructuredDocumentation",
          "src": "207:386:31",
          "text": "@title Witnet Request Board \"trustable\" implementation contract.\n @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n The result of the requests will be posted back to this contract by the bridge nodes too.\n @author The Witnet Foundation"
        },
        "fullyImplemented": true,
        "id": 4321,
        "linearizedBaseContracts": [
          4321,
          7013,
          6817,
          24145,
          13758,
          13398,
          749,
          13315,
          13265,
          3887,
          578,
          24304,
          24189,
          253,
          24094,
          401,
          509
        ],
        "name": "WitnetOracleTrustableObscuro",
        "nameLocation": "602:28:31",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              6836
            ],
            "body": {
              "id": 4230,
              "nodeType": "Block",
              "src": "756:65:31",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 4226,
                          "name": "WitnetOracleTrustableObscuro",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4321,
                          "src": "779:28:31",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableObscuro_$4321_$",
                            "typeString": "type(contract WitnetOracleTrustableObscuro)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableObscuro_$4321_$",
                            "typeString": "type(contract WitnetOracleTrustableObscuro)"
                          }
                        ],
                        "id": 4225,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "774:4:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 4227,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "774:34:31",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitnetOracleTrustableObscuro_$4321",
                        "typeString": "type(contract WitnetOracleTrustableObscuro)"
                      }
                    },
                    "id": 4228,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "809:4:31",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "774:39:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4224,
                  "id": 4229,
                  "nodeType": "Return",
                  "src": "767:46:31"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 4231,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "695:5:31",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4221,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "711:8:31"
            },
            "parameters": {
              "id": 4220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "700:2:31"
            },
            "returnParameters": {
              "id": 4224,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4223,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4231,
                  "src": "741:13:31",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4222,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "741:6:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "740:15:31"
            },
            "scope": 4321,
            "src": "686:135:31",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4262,
              "nodeType": "Block",
              "src": "1531:2:31",
              "statements": []
            },
            "id": 4263,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4252,
                    "name": "_factory",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4234,
                    "src": "1260:8:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  {
                    "id": 4253,
                    "name": "_registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4237,
                    "src": "1284:9:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  {
                    "id": 4254,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4239,
                    "src": "1308:11:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 4255,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4241,
                    "src": "1335:11:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "id": 4256,
                    "name": "_reportResultGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4243,
                    "src": "1361:20:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4257,
                    "name": "_reportResultWithCallbackGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4245,
                    "src": "1396:32:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4258,
                    "name": "_reportResultWithCallbackRevertGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4247,
                    "src": "1443:38:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4259,
                    "name": "_sstoreFromZeroGas",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4249,
                    "src": "1496:18:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4260,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4251,
                  "name": "WitnetOracleTrustableDefault",
                  "nameLocations": [
                    "1217:28:31"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 7013,
                  "src": "1217:28:31"
                },
                "nodeType": "ModifierInvocation",
                "src": "1217:308:31"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4250,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4234,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nameLocation": "876:8:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "855:29:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 4233,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4232,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "855:20:31"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "855:20:31"
                    },
                    "referencedDeclaration": 880,
                    "src": "855:20:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4237,
                  "mutability": "mutable",
                  "name": "_registry",
                  "nameLocation": "922:9:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "899:32:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 4236,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4235,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "899:22:31"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "899:22:31"
                    },
                    "referencedDeclaration": 849,
                    "src": "899:22:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4239,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "951:11:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "946:16:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4238,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "946:4:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4241,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "985:11:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "977:19:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4240,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "977:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4243,
                  "mutability": "mutable",
                  "name": "_reportResultGasBase",
                  "nameLocation": "1019:20:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "1011:28:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4242,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1011:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4245,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackGasBase",
                  "nameLocation": "1062:32:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "1054:40:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4244,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1054:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4247,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackRevertGasBase",
                  "nameLocation": "1117:38:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "1109:46:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4246,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1109:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4249,
                  "mutability": "mutable",
                  "name": "_sstoreFromZeroGas",
                  "nameLocation": "1178:18:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4263,
                  "src": "1170:26:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4248,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1170:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "840:367:31"
            },
            "returnParameters": {
              "id": 4261,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1531:0:31"
            },
            "scope": 4321,
            "src": "829:704:31",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5480
            ],
            "body": {
              "id": 4281,
              "nodeType": "Block",
              "src": "2105:70:31",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4278,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4266,
                        "src": "2158:8:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4276,
                        "name": "WitnetOracleTrustableBase",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6817,
                        "src": "2123:25:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableBase_$6817_$",
                          "typeString": "type(contract WitnetOracleTrustableBase)"
                        }
                      },
                      "id": 4277,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2149:8:31",
                      "memberName": "getQuery",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5480,
                      "src": "2123:34:31",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Query_$23455_memory_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitnetV2.Query memory)"
                      }
                    },
                    "id": 4279,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2123:44:31",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_memory_ptr",
                      "typeString": "struct WitnetV2.Query memory"
                    }
                  },
                  "functionReturnParameters": 4275,
                  "id": 4280,
                  "nodeType": "Return",
                  "src": "2116:51:31"
                }
              ]
            },
            "documentation": {
              "id": 4264,
              "nodeType": "StructuredDocumentation",
              "src": "1781:156:31",
              "text": "@notice Gets the whole Query data contents, if any, no matter its current status.\n @dev Fails if or if `msg.sender` is not the actual requester."
            },
            "functionSelector": "aeb2ffc1",
            "id": 4282,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4270,
                    "name": "_queryId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4266,
                    "src": "2049:8:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4271,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 4269,
                  "name": "onlyRequester",
                  "nameLocations": [
                    "2035:13:31"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5012,
                  "src": "2035:13:31"
                },
                "nodeType": "ModifierInvocation",
                "src": "2035:23:31"
              }
            ],
            "name": "getQuery",
            "nameLocation": "1952:8:31",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4268,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2017:8:31"
            },
            "parameters": {
              "id": 4267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4266,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "1969:8:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4282,
                  "src": "1961:16:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4265,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1961:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1960:18:31"
            },
            "returnParameters": {
              "id": 4275,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4274,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4282,
                  "src": "2077:21:31",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Query_$23455_memory_ptr",
                    "typeString": "struct WitnetV2.Query"
                  },
                  "typeName": {
                    "id": 4273,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4272,
                      "name": "WitnetV2.Query",
                      "nameLocations": [
                        "2077:8:31",
                        "2086:5:31"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23455,
                      "src": "2077:14:31"
                    },
                    "referencedDeclaration": 23455,
                    "src": "2077:14:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Query_$23455_storage_ptr",
                      "typeString": "struct WitnetV2.Query"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2076:23:31"
            },
            "scope": 4321,
            "src": "1943:232:31",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5530
            ],
            "body": {
              "id": 4300,
              "nodeType": "Block",
              "src": "2649:78:31",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4297,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4285,
                        "src": "2710:8:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4295,
                        "name": "WitnetOracleTrustableBase",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6817,
                        "src": "2667:25:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableBase_$6817_$",
                          "typeString": "type(contract WitnetOracleTrustableBase)"
                        }
                      },
                      "id": 4296,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2693:16:31",
                      "memberName": "getQueryResponse",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5530,
                      "src": "2667:42:31",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Response_$23488_memory_ptr_$",
                        "typeString": "function (uint256) view returns (struct WitnetV2.Response memory)"
                      }
                    },
                    "id": 4298,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2667:52:31",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                      "typeString": "struct WitnetV2.Response memory"
                    }
                  },
                  "functionReturnParameters": 4294,
                  "id": 4299,
                  "nodeType": "Return",
                  "src": "2660:59:31"
                }
              ]
            },
            "documentation": {
              "id": 4283,
              "nodeType": "StructuredDocumentation",
              "src": "2183:277:31",
              "text": "@notice Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request.\n @dev Fails if the `_queryId` is not in 'Reported' status, or if `msg.sender` is not the actual requester.\n @param _queryId The unique query identifier"
            },
            "functionSelector": "f61921b2",
            "id": 4301,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4289,
                    "name": "_queryId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4285,
                    "src": "2580:8:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4290,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 4288,
                  "name": "onlyRequester",
                  "nameLocations": [
                    "2566:13:31"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5012,
                  "src": "2566:13:31"
                },
                "nodeType": "ModifierInvocation",
                "src": "2566:23:31"
              }
            ],
            "name": "getQueryResponse",
            "nameLocation": "2475:16:31",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4287,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2548:8:31"
            },
            "parameters": {
              "id": 4286,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4285,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "2500:8:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4301,
                  "src": "2492:16:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4284,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2492:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2491:18:31"
            },
            "returnParameters": {
              "id": 4294,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4293,
                  "mutability": "mutable",
                  "name": "_response",
                  "nameLocation": "2633:9:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4301,
                  "src": "2608:34:31",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Response_$23488_memory_ptr",
                    "typeString": "struct WitnetV2.Response"
                  },
                  "typeName": {
                    "id": 4292,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4291,
                      "name": "WitnetV2.Response",
                      "nameLocations": [
                        "2608:8:31",
                        "2617:8:31"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23488,
                      "src": "2608:17:31"
                    },
                    "referencedDeclaration": 23488,
                    "src": "2608:17:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Response_$23488_storage_ptr",
                      "typeString": "struct WitnetV2.Response"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2607:36:31"
            },
            "scope": 4321,
            "src": "2466:261:31",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5634
            ],
            "body": {
              "id": 4319,
              "nodeType": "Block",
              "src": "3071:81:31",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4316,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4304,
                        "src": "3135:8:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4314,
                        "name": "WitnetOracleTrustableBase",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6817,
                        "src": "3089:25:31",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableBase_$6817_$",
                          "typeString": "type(contract WitnetOracleTrustableBase)"
                        }
                      },
                      "id": 4315,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3115:19:31",
                      "memberName": "getQueryResultError",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5634,
                      "src": "3089:45:31",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_ResultError_$16055_memory_ptr_$",
                        "typeString": "function (uint256) view returns (struct Witnet.ResultError memory)"
                      }
                    },
                    "id": 4317,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3089:55:31",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                      "typeString": "struct Witnet.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 4313,
                  "id": 4318,
                  "nodeType": "Return",
                  "src": "3082:62:31"
                }
              ]
            },
            "documentation": {
              "id": 4302,
              "nodeType": "StructuredDocumentation",
              "src": "2735:153:31",
              "text": "@notice Gets error code identifying some possible failure on the resolution of the given query.\n @param _queryId The unique query identifier."
            },
            "functionSelector": "a77fc1a4",
            "id": 4320,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4308,
                    "name": "_queryId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4304,
                    "src": "3011:8:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4309,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 4307,
                  "name": "onlyRequester",
                  "nameLocations": [
                    "2997:13:31"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5012,
                  "src": "2997:13:31"
                },
                "nodeType": "ModifierInvocation",
                "src": "2997:23:31"
              }
            ],
            "name": "getQueryResultError",
            "nameLocation": "2903:19:31",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4306,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2979:8:31"
            },
            "parameters": {
              "id": 4305,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4304,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "2931:8:31",
                  "nodeType": "VariableDeclaration",
                  "scope": 4320,
                  "src": "2923:16:31",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4303,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2923:7:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2922:18:31"
            },
            "returnParameters": {
              "id": 4313,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4312,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4320,
                  "src": "3039:25:31",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 4311,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4310,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "3039:6:31",
                        "3046:11:31"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "3039:18:31"
                    },
                    "referencedDeclaration": 16055,
                    "src": "3039:18:31",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3038:27:31"
            },
            "scope": 4321,
            "src": "2894:258:31",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          }
        ],
        "scope": 4322,
        "src": "593:2568:31",
        "usedErrors": [
          16,
          19,
          267,
          272,
          523,
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": [
          24,
          278,
          13278,
          13285,
          13294,
          13307,
          13314,
          13397,
          13730,
          13735,
          24023,
          24106,
          24112,
          24232
        ]
      }
    ],
    "src": "79:3084:31"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.241Z",
  "devdoc": {
    "author": "The Witnet Foundation",
    "details": "This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.",
    "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."
      },
      "estimateBaseFee(uint256,bytes32)": {
        "details": "Underestimates if the size of returned data is greater than `resultMaxSize`. ",
        "params": {
          "gasPrice": "Expected gas price to pay upon posting the data request.",
          "radHash": "The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry."
        }
      },
      "estimateBaseFee(uint256,uint16)": {
        "details": "Underestimates if the size of returned data is greater than `_resultMaxSize`. ",
        "params": {
          "_gasPrice": "Expected gas price to pay upon posting the data request.",
          "_resultMaxSize": "Maximum expected size of returned data (in bytes)."
        }
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "params": {
          "_callbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_gasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "extractWitnetDataRequests(uint256[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "_queryIds": "Query identifies."
        }
      },
      "fetchQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQuery(uint256)": {
        "details": "Fails if or if `msg.sender` is not the actual requester."
      },
      "getQueryRequest(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint256)": {
        "details": "Fails if the `_queryId` is not in 'Reported' status, or if `msg.sender` is not the actual requester.",
        "params": {
          "_queryId": "The unique query identifier"
        }
      },
      "getQueryResponseStatus(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultCborBytes(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultError(uint256)": {
        "params": {
          "_queryId": "The unique query identifier."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isReporter(address)": {
        "params": {
          "_reporter": "The address to be checked."
        }
      },
      "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."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "details": "Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.",
        "params": {
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain.",
          "_queryUnverifiedBytecode": "The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "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."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "_witnetQueryId": "The unique identifier of the data request.",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.",
        "params": {
          "_witnetQueryId": "The unique query identifier",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.",
          "_witnetQueryResultTimestamp": "Timestamp at which the reported value was captured by the Witnet blockchain. "
        }
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "details": "Fails only if called from unauthorized address.",
        "params": {
          "_batchResults": "Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes."
        }
      },
      "setReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersSet` event. ",
        "params": {
          "_reporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "transferOwnership(address)": {
        "details": "Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."
      },
      "unsetReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersUnset` event. ",
        "params": {
          "_exReporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "upgradeQueryEvmReward(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Posted' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      }
    },
    "title": "Witnet Request Board \"trustable\" implementation contract.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      },
      "WitnetQuery(uint256,uint256,(uint8,uint64))": {
        "notice": "Emitted every time a new query containing some verified data request is posted to the WRB."
      },
      "WitnetQueryResponse(uint256,uint256)": {
        "notice": "Emitted when a query with no callback gets reported into the WRB."
      },
      "WitnetQueryResponseDelivered(uint256,uint256,uint256)": {
        "notice": "Emitted when a query with a callback gets successfully reported into the WRB."
      },
      "WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)": {
        "notice": "Emitted when a query with a callback cannot get reported into the WRB."
      },
      "WitnetQueryRewardUpgraded(uint256,uint256)": {
        "notice": "Emitted when the reward of some not-yet reported query is upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "estimateBaseFee(uint256,bytes32)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,uint16)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "notice": "Estimate the minimum reward required for posting a data request with a callback."
      },
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings."
      },
      "extractWitnetDataRequests(uint256[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries."
      },
      "fetchQueryResponse(uint256)": {
        "notice": "Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."
      },
      "getNextQueryId()": {
        "notice": "Returns next query id to be generated by the Witnet Request Board."
      },
      "getQuery(uint256)": {
        "notice": "Gets the whole Query data contents, if any, no matter its current status."
      },
      "getQueryEvmReward(uint256)": {
        "notice": "Gets the current EVM reward the report can claim, if not done yet."
      },
      "getQueryRequest(uint256)": {
        "notice": "Retrieves the RAD hash and SLA parameters of the given query."
      },
      "getQueryResponse(uint256)": {
        "notice": "Retrieves the whole `Witnet.Response` record referred to a previously posted Witnet Data Request."
      },
      "getQueryResponseStatus(uint256)": {
        "notice": "Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue."
      },
      "getQueryResultCborBytes(uint256)": {
        "notice": "Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query."
      },
      "getQueryResultError(uint256)": {
        "notice": "Gets error code identifying some possible failure on the resolution of the given query."
      },
      "getQueryStatus(uint256)": {
        "notice": "Gets current status of given query."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isReporter(address)": {
        "notice": "Tells whether given address is included in the active reporters control list."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request."
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result."
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request. "
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request."
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report."
      },
      "setReporters(address[])": {
        "notice": "Adds given addresses to the active reporters control list."
      },
      "unsetReporters(address[])": {
        "notice": "Removes given addresses from the active reporters control list."
      },
      "upgradeQueryEvmReward(uint256)": {
        "notice": "Increments the reward of a previously posted request by adding the transaction value to it."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "notice": "Contract to bridge requests to Witnet Decentralized Oracle Network.",
    "version": 1
  }
}