{
  "contractName": "WitnetOracleTrustableOvm2",
  "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": "_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": "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": "_witnetQueryId",
          "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": "",
          "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": "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"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "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": "_reportTxMsgData",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_reportTxGasPrice",
          "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"
    }
  ],
  "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\":\"_reportTxMsgData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_reportTxGasPrice\",\"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\":\"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\":\"_witnetQueryId\",\"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\":\"\",\"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\":\"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.\"}},\"getQueryRequest(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\"}},\"getQueryResponseStatus(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultCborBytes(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultError(uint256)\":{\"params\":{\"_witnetQueryId\":\"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 Witnet-provable result, and metadata, to a previously posted 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/WitnetOracleTrustableOvm2.sol\":\"WitnetOracleTrustableOvm2\"},\"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/WitnetOracleTrustableOvm2.sol\":{\"keccak256\":\"0x6eb35438e7e1e29128f03124fc79f3b23a59f3af10564582497673ae55627cab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc5947567cfc98ce0f98f985a4beb27ad569c90ba779bcfd2c50d67795d00423\",\"dweb:/ipfs/QmTiX4XjojsL4dfoiUUWbmFCZWseCCR1eiKsswbvRGNELE\"]},\"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": "0x610260604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051616058380380616058833981016040819052610041916101cf565b87878787878787878787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100c457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100cd8161014e565b5030608052151560c052600160025560e091909152805160209091012061012052506001600160a01b03908116610140529485166101a05250505016610180526101c0939093526101e0919091526102005261022052505073420000000000000000000000000000000000000f610240525061025198505050505050505050565b600180546001600160a01b03191690556101678161016a565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461016757600080fd5b600080600080600080600080610100898b0312156101ec57600080fd5b88516101f7816101ba565b60208a0151909850610208816101ba565b60408a0151909750801515811461021e57600080fd5b60608a015160808b015160a08c015160c08d015160e0909d01519b9e9a9d50929b919a9099929850909650945092505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051615ce161037760003960008181611fd50152612bf0015260008181612b0a01526133a101526000612b36015260008181612b760152612bbe015260006133cb015260008181610903015281816116c801528181611710015281816117db01526118980152600081816106c50152818161186e01528181611a2601528181611eba015261208701526000610870015260006109a00152600061052e0152600061094e01526000611ab201526000818161055f0152611c71015260005050600081816104e401528181610839015281816115fd015281816116570152818161195e01526119800152615ce16000f3fe6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b60405160200161031794939291906145bb565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461464f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b36600461467f565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a93660046146f6565b610bcc565b3480156103ba57600080fd5b506103ce6103c9366004614737565b610f36565b60405161035791906147d0565b3480156103e757600080fd5b506103fb6103f6366004614737565b6111cd565b6040516103579190614865565b34801561041457600080fd5b50610428610423366004614737565b611333565b60405161035791906148a2565b34801561044157600080fd5b506102b1610450366004614915565b61133e565b6103806104633660046149cb565b6113f7565b34801561047457600080fd5b506102b1610483366004614a16565b611501565b34801561049457600080fd5b506104a86104a33660046146f6565b6119f5565b6040516103579190614a9b565b3480156104c157600080fd5b506102b16104d0366004614915565b611a97565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611aab565b6040516103579190614aff565b3480156105b157600080fd5b506105c56105c03660046146f6565b611adb565b6040516103579190614b22565b3480156105de57600080fd5b506103806105ed366004614bae565b611b9d565b3480156105fe57600080fd5b5061034b61060d36600461464f565b611c6d565b34801561061e57600080fd5b5061063261062d366004614737565b611cc3565b6040516103579190614c00565b34801561064b57600080fd5b5061038061065a366004614737565b6000908152600080516020615c8c8339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611cce565b3480156106aa57600080fd5b506102b1611ce2565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b50610380610752366004614c1e565b611d59565b34801561076357600080fd5b50610598610772366004614737565b611d6e565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b0366004614c4e565b611e0c565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614ccb565b612064565b6103806107f8366004614ced565b61213a565b34801561080957600080fd5b5061081d610818366004614737565b612294565b6040516103579190614d62565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614737565b61240d565b6040516103579190614d8e565b3480156108cb57600080fd5b506103806108da366004614ddb565b612643565b3480156108eb57600080fd5b5061059861275e565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612795565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614e42565b6127b2565b6102b16109e3366004614737565b612871565b3480156109f457600080fd5b506102b1610a0336600461464f565b61296f565b348015610a1457600080fd5b506103ce610a23366004614737565b6129e0565b610a3061275e565b81604051602001610a42929190614e7f565b60408051601f198184030181529082905262461bcd60e51b8252610a6891600401614aff565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614ee8565b610aae906030614f0a565b90506000610abd601086614f23565b610ac8906030614f0a565b905060398260ff161115610ae457610ae1600783614f0a565b91505b60398160ff161115610afe57610afb600782614f0a565b90505b8160f81b83600081518110610b1557610b15614f45565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614f45565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b6000610bb18383612b02565b610bbb6020612bec565b610bc59190614f5b565b9392505050565b6000610c2e600080516020615c6c8339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612ca2565b60005b82811015610f25576001610c68858584818110610c5057610c50614f45565b9050602002810190610c629190614f6e565b35612cb4565b6003811115610c7957610c79614878565b14610d5e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610cb157610cb1614f45565b9050602002810190610cc39190614f6e565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610cfe90600190600401614c00565b600060405180830381865af4158015610d1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d439190810190614fdd565b604051610d51929190615011565b60405180910390a1610f1d565b838382818110610d7057610d70614f45565b9050602002810190610d829190614f6e565b610d9390604081019060200161502a565b63ffffffff161580610dd65750838382818110610db257610db2614f45565b9050602002810190610dc49190614f6e565b610dd2906060810190615045565b1590505b15610e54577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610e0e57610e0e614f45565b9050602002810190610e209190614f6e565b35610e2961275e565b604051602001610e39919061508b565b60408051601f1981840301815290829052610d519291615011565b610f10848483818110610e6957610e69614f45565b9050602002810190610e7b9190614f6e565b35858584818110610e8e57610e8e614f45565b9050602002810190610ea09190614f6e565b610eb190604081019060200161502a565b868685818110610ec357610ec3614f45565b9050602002810190610ed59190614f6e565b60400135878786818110610eeb57610eeb614f45565b9050602002810190610efd9190614f6e565b610f0b906060810190615045565b612d35565b610f1a9083614f5b565b91505b600101610c31565b508015610b9f57610b9f3382612f14565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915281600380610f7083612cb4565b6003811115610f8157610f81614878565b14611010576040516353e8875160e11b815261100b9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b600060405180830381865af4158015610fde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110069190810190614fdd565b610a28565b6111c6565b8361105961101d82612f4a565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612ca2565b61106285612f4a565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906110c7906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546110f3906150c4565b80156111405780601f1061111557610100808354040283529160200191611140565b820191906000526020600020905b81548152906001019060200180831161112357829003601f168201915b5050505050815250509350611160600080516020615c6c83398151915290565b600086815260019182016020526040812081815591829082906111859083018261447f565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906111c0600685018261447f565b50505050505b5050919050565b6112116040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b61121a82612f4a565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b031691810191909152600182018054919291606084019190611272906150c4565b80601f016020809104026020016040519081016040528092919081815260200182805461129e906150c4565b80156112eb5780601f106112c0576101008083540402835291602001916112eb565b820191906000526020600020905b8154815290600101906020018083116112ce57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612f68565b611346613080565b60005b81518110156113bc57600082828151811061136657611366614f45565b602002602001015190506000611387600080516020615c6c83398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611349565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516113ec91906150f8565b60405180910390a150565b60006114033a84612064565b61143c81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612ca2565b61147a61144a82600a615139565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612ca2565b826114b0611487826130ad565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612ca2565b6114bc85856000613106565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516114f193929190615174565b60405180910390a1505092915050565b6000546001600160a01b03166060816115545760608380602001905181019061152a91906151bb565b9093509050611538836131da565b8080602001905181019061154c919061520b565b9150506115ae565b611597826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612ca2565b828060200190518101906115ab919061520b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061161f57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611655576116556040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526116f9907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612ca2565b6117cc630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179091906152a4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612ca2565b611953306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185b91906152ce565b6001600160a01b031614801561192357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191891906152ce565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612ca2565b61195c816131f3565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119db611aab565b6040516119e89190614aff565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611a52907f000000000000000000000000000000000000000000000000000000000000000090879087906004016152eb565b600060405180830381865af4158015611a6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc59190810190615335565b611a9f613080565b611aa8816131f3565b50565b6060611ad67f0000000000000000000000000000000000000000000000000000000000000000613299565b905090565b6060816001600160401b03811115611af557611af56148b0565b604051908082528060200260200182016040528015611b1e578160200160208202803683370190505b50905060005b82811015611b9657611b4d848483818110611b4157611b41614f45565b90506020020135612cb4565b828281518110611b5f57611b5f614f45565b60200260200101906003811115611b7857611b78614878565b90816003811115611b8b57611b8b614878565b905250600101611b24565b5092915050565b6000611bb6600080516020615c6c833981519152610be1565b84600180611bc383612cb4565b6003811115611bd457611bd4614878565b14611c19576040516353e8875160e11b8152611c149073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b611c63565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611c539085151590612ca2565b611c60874288888861333d565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611cb36000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612cb4565b611cd6613080565b611ce060006131da565b565b60015433906001600160a01b03168114611d505760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611aa8816131da565b6000611d658383613361565b610bbb83612bec565b6060611d79826133f9565b6002018054611d87906150c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611db3906150c4565b8015611e005780601f10611dd557610100808354040283529160200191611e00565b820191906000526020600020905b815481529060010190602001808311611de357829003601f168201915b50505050509050919050565b60008060005b87811015611fbd576001611e318a8a84818110611b4157611b41614f45565b6003811115611e4257611e42614878565b03611fb5576000611e6a8a8a84818110611e5e57611e5e614f45565b90506020020135612f4a565b8054909150600160a01b900462ffffff1615611eaa578054611e99908790600160a01b900462ffffff16612b02565b611ea39084614f5b565b9250611f68565b600281015415611f5057611e99867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376b78a0684600201546040518263ffffffff1660e01b8152600401611f0a91815260200190565b602060405180830381865afa158015611f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4b91906153f0565b613361565b611f5b866000613361565b611f659084614f5b565b92505b84611f758260030161341a565b6001600160401b0316611f889190615139565b611f929084614f5b565b8154909350611fb190600160b81b90046001600160481b031685614f5b565b9350505b600101611e12565b506040516324ca470760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906349948e0e9061200c9089908990600401615436565b602060405180830381865afa158015612029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204d919061544a565b6120579082614f5b565b9050965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f291906153f0565b905061212860008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612ca2565b6121328482611d59565b949350505050565b600033826121f4823b158015906121b557506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa158015612191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b59190615463565b80156121c6575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612ca2565b6121ff3a5b85610ba5565b6122098134611409565b61221761144a82600a615139565b85612224611487826130ad565b61223060008888613106565b9450888861223d87612f4a565b6001019161224c9190836154d5565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161228093929190615174565b60405180910390a150505050949350505050565b60408051808201909152600081526060602082015260006122b483612f68565b905073__WitnetErrorsLib_______________________63a62b8462826122da866133f9565b6002016040518363ffffffff1660e01b81526004016122fa929190615595565b600060405180830381865af492505050801561233857506040513d6000823e601f3d908101601f191682016040526123359190810190615634565b60015b610bc5576123446156cd565b806308c379a0036123a057506123586156e9565b8061236357506123a2565b604080518082019091528060008152602001826040516020016123869190615772565b60408051601f198184030181529190529052949350505050565b505b3d8080156123cc576040519150601f19603f3d011682016040523d82523d6000602084013e6123d1565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615c4b602191399052949350505050565b50919050565b6124156144b9565b6000828152600080516020615c8c83398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a085019190612490906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546124bc906150c4565b80156125095780601f106124de57610100808354040283529160200191612509565b820191906000526020600020905b8154815290600101906020018083116124ec57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906125b7906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546125e3906150c4565b80156126305780601f1061260557610100808354040283529160200191612630565b820191906000526020600020905b81548152906001019060200180831161261357829003601f168201915b5050509190925250505090525092915050565b600061265c600080516020615c6c833981519152610be1565b8560018061266983612cb4565b600381111561267a5761267a614878565b146126bf576040516353e8875160e11b81526126ba9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b612753565b61270960008863ffffffff161180156126de5750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612ca2565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127439085151590612ca2565b612750888888888861333d565b92505b505095945050505050565b60408051808201909152601981527f5769746e65744f7261636c65547275737461626c654f766d3200000000000000602082015290565b6000600080516020615c6c83398151915254611ad6906001614f5b565b600033826127f0823b158015906121b557506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612174565b6127f93a6121f9565b6128038134611409565b61281161144a82600a615139565b8561281e611487826130ad565b612829888888613106565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161285e93929190615174565b60405180910390a1505050509392505050565b8060018061287e83612cb4565b600381111561288f5761288f614878565b146128d4576040516353e8875160e11b81526128cf9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b505050565b60006128df84612f4a565b90503481548290601790612904908490600160b81b90046001600160481b03166157ab565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612977613080565b600180546001600160a01b0383166001600160a01b031990911681179091556129a86000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a16826133f9565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612a79906150c4565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa5906150c4565b8015612af25780601f10612ac757610100808354040283529160200191612af2565b820191906000526020600020905b815481529060010190602001808311612ad557829003601f168201915b5050505050815250509050919050565b600080612b307f00000000000000000000000000000000000000000000000000000000000000006003615139565b612b5a907f0000000000000000000000000000000000000000000000000000000000000000614f5b565b9050808362ffffff161080612b9c575080612b9a62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614f5b565b105b15612bb357612bab8185615139565b915050610b9f565b612be262ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614f5b565b612bab9085615139565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166349948e0e612c268461344a565b604051602001612c3691906157cb565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612c619190614aff565b602060405180830381865afa158015612c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061544a565b81612cb057612cb081610a28565b5050565b6000818152600080516020615c8c833981519152602052604081206004810154600160e01b900463ffffffff1615612d13576004810154600160a01b90046001600160401b03164310612d0a5750600392915050565b50600292915050565b80546001600160a01b031615612d2c5750600192915050565b50600092915050565b600080612d4187612f4a565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612e8d57805460009081908190612db0908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613506565b9250925092508115612e0057604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612e6a565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612e4d57604051806060016040528060298152602001615c2260299139612e4f565b865b604051612e619695949392919061585b565b60405180910390a15b612e858a8a8a6040518060200160405280600081525061389c565b505050612f0a565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612f0a87878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061389c92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156128cf573d6000803e3d6000fd5b6000908152600080516020615c8c8339815191526020526040902090565b600080612f7483612cb4565b90506003816003811115612f8a57612f8a614878565b0361303c576000838152600080516020615c8c8339815191526020526040812060060180549091908290612fbd906150c4565b90501115613032578054601b60fb1b908290600090612fdb906150c4565b8110612fe957612fe9614f45565b8154600116156130085790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614613028576002612132565b6003949350505050565b5060059392505050565b600181600381111561305057613050614878565b0361305e5750600192915050565b600281600381111561307257613072614878565b03612d2c5750600492915050565b6000546001600160a01b03163314611ce05760405163118cdaa760e01b8152336004820152602401610a68565b6000806130c060408401602085016158a0565b6001600160401b03161180156130e5575060006130e060208401846158bd565b60ff16115b8015610b9f5750607f6130fb60208401846158bd565b60ff16111592915050565b6000600080516020615c6c8339815191528054600090613125906158da565b91829055509050600061313782612f4a565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250613177916001600160a01b039091161590612ca2565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b03161781556002810185905583600382016131cf82826158f3565b905050509392505050565b600180546001600160a01b0319169055611aa881613969565b60005b815181101561326957600082828151811061321357613213614f45565b602002602001015190506001613234600080516020615c6c83398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016131f6565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516113ec91906150f8565b606060006132a6836139b9565b6001600160401b038111156132bd576132bd6148b0565b6040519080825280601f01601f1916602001820160405280156132e7576020820181803683370190505b50905060005b8151811015611b965783816020811061330857613308614f45565b1a60f81b82828151811061331e5761331e614f45565b60200101906001600160f81b031916908160001a9053506001016132ed565b600061334c8686868686612d35565b90506133583382612f14565b95945050505050565b6000602061ffff83161561337f5761337a600184615943565b613382565b60005b61338c919061595e565b61339790600461597f565b6133c59061ffff167f0000000000000000000000000000000000000000000000000000000000000000615139565b6133ef907f0000000000000000000000000000000000000000000000000000000000000000614f5b565b610bc59084615139565b6000908152600080516020615c8c8339815191526020526040902060040190565b805460009061342d9060ff166003614f0a565b8254610b9f9160ff169061010090046001600160401b031661599a565b60606000602061ffff84160461ffff166001600160401b03811115613471576134716148b0565b60405190808252806020026020018201604052801561349a578160200160208202803683370190505b50905060005b81518110156134d1576000198282815181106134be576134be614f45565b60209081029190910101526001016134a0565b506040516134ef9082906000196001601f88161b01906020016159c5565b604051602081830303815290604052915050919050565b60008060605a9250601b60fb1b878760008161352457613524614f45565b9050013560f81c60f81b6001600160f81b0319160361377457600061358661358189898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f792505050565b613a1c565b90506002815110156136ad57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161363a96959493929190615a81565b600060405180830381600088803b15801561365457600080fd5b5087f193505050508015613666575060015b6136a4576136726156cd565b806308c379a00361369857506136866156e9565b80613691575061369a565b915061376e565b505b3d6000803e3d6000fd5b6001925061376e565b856001600160a01b03166363febc9c868d8d8d436136e4886000815181106136d7576136d7614f45565b6020026020010151613bcc565b60fe8111156136f5576136f5614878565b8860008151811061370857613708614f45565b60200260200101516040518863ffffffff1660e01b815260040161373196959493929190615a81565b600060405180830381600088803b15801561374b57600080fd5b5087f19350505050801561375d575060015b613769576136726156cd565b600192505b50613882565b846001600160a01b031663bcc6307b858c8c8c436137c78e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f792505050565b6040518763ffffffff1660e01b81526004016137e7959493929190615ace565b600060405180830381600088803b15801561380157600080fd5b5087f193505050508015613813575060015b61387d5761381f6156cd565b806308c379a00361384557506138336156e9565b8061383e5750613847565b9050613882565b505b3d808015613871576040519150601f19603f3d011682016040523d82523d6000602084013e613876565b606091505b5050613882565b600191505b5a61388d9084615b02565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff168152602001838152602001828152506138e485612f4a565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906139609082615b15565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156139f2578181602081106139d7576139d7614f45565b1a60f81b6001600160f81b031916156139f2576001016139bc565b919050565b6139ff61453b565b6040805180820190915282815260006020820152610bc581613c2f565b60608160048060ff16826040015160ff1614613a5c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613a7085600001518660600151613d4f565b9050613a7d816001615bd4565b6001600160401b03166001600160401b03811115613a9d57613a9d6148b0565b604051908082528060200260200182016040528015613ad657816020015b613ac361453b565b815260200190600190039081613abb5790505b50935060005b816001600160401b0316811015613b9c57613af686613e17565b9550613b0186613e3f565b858281518110613b1357613b13614f45565b6020026020010181905250600460ff16866040015160ff1603613b6c576000613b3b87613a1c565b90508060018251613b4c9190615b02565b81518110613b5c57613b5c614f45565b6020026020010151965050613b94565b600560ff16866040015160ff1603613b89576000613b3b87613ed7565b613b92866140c1565b505b600101613adc565b508484826001600160401b031681518110613bb957613bb9614f45565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff1614613c0c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b613c1e84600001518560600151613d4f565b6001600160401b0316949350505050565b613c3761453b565b8151518290600003613c5c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613cdf57613c7c89614286565b955081613c88816158da565b6007600589901c169650601f881695509250506005198501613cd7576020890151613cb38a86613d4f565b9350808a60200151613cc59190615b02565b613ccf9084614f5b565b925050613c6d565b506000613c6d565b600760ff86161115613d095760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613d67575060ff8116610b9f565b8160ff16601803613d8557613d7b83614286565b60ff169050610b9f565b8160ff16601903613da457613d99836142e8565b61ffff169050610b9f565b8160ff16601a03613dc557613db883614354565b63ffffffff169050610b9f565b8160ff16601b03613de057613dd9836143b3565b9050610b9f565b8160ff16601f03613df957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613e1f61453b565b81518051516020909101511015613e3b578151610b9f90613c2f565b5090565b613e4761453b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613f1757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613f2b85600001518660600151613d4f565b613f3690600261599a565b9050613f43816001615bd4565b6001600160401b03166001600160401b03811115613f6357613f636148b0565b604051908082528060200260200182016040528015613f9c57816020015b613f8961453b565b815260200190600190039081613f815790505b50935060005b816001600160401b0316811015613b9c57613fbc86613e17565b9550613fc786613e3f565b858281518110613fd957613fd9614f45565b6020908102919091010152613fef600282615bf4565b1580156140045750604086015160ff16600314155b1561403257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff166004148061404f5750604086015160ff166005145b156140ae57604086015160009060ff166004146140745761406f87613ed7565b61407d565b61407d87613a1c565b9050806001825161408e9190615b02565b8151811061409e5761409e614f45565b60200260200101519650506140b9565b6140b7866140c1565b505b600101613fa2565b6140c961453b565b604082015160ff1615806140e45750604082015160ff166001145b8061411d5750604082015160ff16600714801561410957506019826060015160ff1610155b801561411d5750601b826060015160ff1611155b156141505761412b82614412565b6001600160401b031682600001516020018181516141499190614f5b565b9052505090565b604082015160ff166003148061416d5750604082015160ff166002145b156141b157600061418683600001518460600151613d4f565b9050806001600160401b031683600001516020018181516141a79190614f5b565b905250613e3b9050565b604082015160ff16600414806141ce5750604082015160ff166005145b156141f7576141e582600001518360600151613d4f565b6001600160401b031660808301525090565b604082015160ff1660071415806142295750816060015160ff166014141580156142295750816060015160ff16601514155b15613e3b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b60008160200151826000015151808211156142be576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180518083016001015195509081906142db826158da565b8152505050505050919050565b6000816020015160026142fb9190614f5b565b82515180821115614329576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916143478284614f5b565b9052509395945050505050565b6000816020015160046143679190614f5b565b82515180821115614395576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916143478284614f5b565b6000816020015160086143c69190614f5b565b825151808211156143f4576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916143478284614f5b565b60006018826060015160ff16101561442c57506000919050565b601c826060015160ff16101561445b576018826060015161444d9190615c08565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b50805461448b906150c4565b6000825580601f1061449b575050565b601f016020900490600052602060002090810190611aa89190614582565b60405180604001604052806145086040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613e3b5760008155600101614583565b60005b838110156145b257818101518382015260200161459a565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b8152600085516145e9816013850160208a01614597565b855190830190614600816013840160208a01614597565b8551910190614616816013840160208901614597565b845191019061462c816013840160208801614597565b016013019695505050505050565b6001600160a01b0381168114611aa857600080fd5b60006020828403121561466157600080fd5b8135610bc58161463a565b803562ffffff811681146139f257600080fd5b6000806040838503121561469257600080fd5b823591506146a26020840161466c565b90509250929050565b60008083601f8401126146bd57600080fd5b5081356001600160401b038111156146d457600080fd5b6020830191508360208260051b85010111156146ef57600080fd5b9250929050565b6000806020838503121561470957600080fd5b82356001600160401b0381111561471f57600080fd5b61472b858286016146ab565b90969095509350505050565b60006020828403121561474957600080fd5b5035919050565b60008151808452614768816020860160208601614597565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261213260a0850182614750565b602081526000610bc5602083018461477c565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261482c60e0850182614750565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000610bc560208301846147e3565b634e487b7160e01b600052602160045260246000fd5b6006811061489e5761489e614878565b9052565b60208101610b9f828461488e565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156148eb576148eb6148b0565b6040525050565b60006001600160401b0382111561490b5761490b6148b0565b5060051b60200190565b6000602080838503121561492857600080fd5b82356001600160401b0381111561493e57600080fd5b8301601f8101851361494f57600080fd5b803561495a816148f2565b60405161496782826148c6565b82815260059290921b830184019184810191508783111561498757600080fd5b928401925b828410156149ae57833561499f8161463a565b8252928401929084019061498c565b979650505050505050565b60006040828403121561240757600080fd5b600080606083850312156149de57600080fd5b823591506146a284602085016149b9565b60006001600160401b03821115614a0857614a086148b0565b50601f01601f191660200190565b600060208284031215614a2857600080fd5b81356001600160401b03811115614a3e57600080fd5b8201601f81018413614a4f57600080fd5b8035614a5a816149ef565b604051614a6782826148c6565b828152866020848601011115614a7c57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015614af257603f19888603018452614ae0858351614750565b94509285019290850190600101614ac4565b5092979650505050505050565b602081526000610bc56020830184614750565b6004811061489e5761489e614878565b6020808252825182820181905260009190848201906040850190845b81811015614b6157614b51838551614b12565b9284019291840191600101614b3e565b50909695505050505050565b60008083601f840112614b7f57600080fd5b5081356001600160401b03811115614b9657600080fd5b6020830191508360208285010111156146ef57600080fd5b60008060008060608587031215614bc457600080fd5b843593506020850135925060408501356001600160401b03811115614be857600080fd5b614bf487828801614b6d565b95989497509550505050565b60208101610b9f8284614b12565b61ffff81168114611aa857600080fd5b60008060408385031215614c3157600080fd5b823591506020830135614c4381614c0e565b809150509250929050565b60008060008060008060808789031215614c6757600080fd5b86356001600160401b0380821115614c7e57600080fd5b614c8a8a838b016146ab565b90985096506020890135915080821115614ca357600080fd5b50614cb089828a01614b6d565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614cde57600080fd5b50508035926020909101359150565b60008060008060808587031215614d0357600080fd5b84356001600160401b03811115614d1957600080fd5b614d2587828801614b6d565b9095509350614d39905086602087016149b9565b9150614d476060860161466c565b905092959194509250565b60ff811061489e5761489e614878565b60208152614d74602082018351614d52565b600060208301516040808401526121326060840182614750565b602081526000825160406020840152614daa60608401826147e3565b90506020840151601f19848303016040850152613358828261477c565b803563ffffffff811681146139f257600080fd5b600080600080600060808688031215614df357600080fd5b85359450614e0360208701614dc7565b93506040860135925060608601356001600160401b03811115614e2557600080fd5b614e3188828901614b6d565b969995985093965092949392505050565b600080600060808486031215614e5757600080fd5b83359250614e6885602086016149b9565b9150614e766060850161466c565b90509250925092565b60008351614e91818460208801614597565b6101d160f51b9083019081528351614eb0816002840160208801614597565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614efb57614efb614ebc565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614ed2565b600060ff831680614f3657614f36614ebc565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b9f57610b9f614ed2565b60008235607e19833603018112614f8457600080fd5b9190910192915050565b600082601f830112614f9f57600080fd5b8151614faa816149ef565b604051614fb782826148c6565b828152856020848701011115614fcc57600080fd5b613358836020830160208801614597565b600060208284031215614fef57600080fd5b81516001600160401b0381111561500557600080fd5b61213284828501614f8e565b8281526040602082015260006121326040830184614750565b60006020828403121561503c57600080fd5b610bc582614dc7565b6000808335601e1984360301811261505c57600080fd5b8301803591506001600160401b0382111561507657600080fd5b6020019150368190038213156146ef57600080fd5b6000825161509d818460208701614597565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c908216806150d857607f821691505b60208210810361240757634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015614b615783516001600160a01b031683529284019291840191600101615114565b8082028115828204841417610b9f57610b9f614ed2565b60ff81168114611aa857600080fd5b6001600160401b0381168114611aa857600080fd5b8381526020810183905260808101823561518d81615150565b60ff16604083015260208301356151a38161515f565b6001600160401b038116606084015250949350505050565b600080604083850312156151ce57600080fd5b82516151d98161463a565b60208401519092506001600160401b038111156151f557600080fd5b61520185828601614f8e565b9150509250929050565b6000602080838503121561521e57600080fd5b82516001600160401b0381111561523457600080fd5b8301601f8101851361524557600080fd5b8051615250816148f2565b60405161525d82826148c6565b82815260059290921b830184019184810191508783111561527d57600080fd5b928401925b828410156149ae5783516152958161463a565b82529284019290840190615282565b6000602082840312156152b657600080fd5b81516001600160e01b031981168114610bc557600080fd5b6000602082840312156152e057600080fd5b8151610bc58161463a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561531b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561534857600080fd5b82516001600160401b038082111561535f57600080fd5b818501915085601f83011261537357600080fd5b815161537e816148f2565b60405161538b82826148c6565b82815260059290921b84018501918581019150888311156153ab57600080fd5b8585015b838110156153e3578051858111156153c75760008081fd5b6153d58b89838a0101614f8e565b8452509186019186016153af565b5098975050505050505050565b60006020828403121561540257600080fd5b8151610bc581614c0e565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061213260208301848661540d565b60006020828403121561545c57600080fd5b5051919050565b60006020828403121561547557600080fd5b81518015158114610bc557600080fd5b601f8211156128cf576000816000526020600020601f850160051c810160208610156154ae5750805b601f850160051c820191505b818110156154cd578281556001016154ba565b505050505050565b6001600160401b038311156154ec576154ec6148b0565b615500836154fa83546150c4565b83615485565b6000601f841160018114615534576000851561551c5750838201355b600019600387901b1c1916600186901b17835561558e565b600083815260209020601f19861690835b828110156155655786850135825560209485019460019092019101615545565b50868210156155825760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61559f818461488e565b6000602060406020840152600084546155b7816150c4565b80604087015260606001808416600081146155d957600181146155f557615625565b60ff19851660608a0152606084151560051b8a01019550615625565b89600052602060002060005b8581101561561c5781548b8201860152908301908801615601565b8a016060019650505b50939998505050505050505050565b60006020828403121561564657600080fd5b81516001600160401b038082111561565d57600080fd5b908301906040828603121561567157600080fd5b60405160408101818110838211171561568c5761568c6148b0565b604052825160ff811061569e57600080fd5b81526020830151828111156156b257600080fd5b6156be87828601614f8e565b60208301525095945050505050565b600060033d11156156e65760046000803e5060005160e01c5b90565b600060443d10156156f75790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561572657505050505090565b828501915081518181111561573e5750505050505090565b843d87010160208285010111156157585750505050505090565b615767602082860101876148c6565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b81526000825161579e816011850160208701614597565b9190910160110192915050565b6001600160481b03818116838216019080821115611b9657611b96614ed2565b630375962160e11b8152600160e51b602080830191909152600160e01b604083015260ff600160e51b0160608301526001600160e01b0319608083015260001960a08301526001600160d41b031960c0830152600160df1b60e083015260ff60d81b6101008301528251600091610105919061584e908290848701908801614597565b9290920190910192915050565b86815260a06020820152600061587560a08301878961540d565b85604084015284606084015282810360808401526158938185614750565b9998505050505050505050565b6000602082840312156158b257600080fd5b8135610bc58161515f565b6000602082840312156158cf57600080fd5b8135610bc581615150565b6000600182016158ec576158ec614ed2565b5060010190565b81356158fe81615150565b60ff8116905081548160ff198216178355602084013561591d8161515f565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b61ffff828116828216039080821115611b9657611b96614ed2565b600061ffff8084168061597357615973614ebc565b92169190910492915050565b61ffff818116838216019080821115611b9657611b96614ed2565b6001600160401b038181168382160280821691908281146159bd576159bd614ed2565b505092915050565b825160009082906020808701845b838110156159ef578151855293820193908201906001016159d3565b505050938152602001949350505050565b6000815160c084528051604060c0860152615a1f610100860182614750565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b0386166020820152846040820152836060820152615aac6080820184614d52565b60c060a08201526000615ac260c0830184615a00565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006149ae60a0830184615a00565b81810381811115610b9f57610b9f614ed2565b81516001600160401b03811115615b2e57615b2e6148b0565b615b4281615b3c84546150c4565b84615485565b602080601f831160018114615b775760008415615b5f5750858301515b600019600386901b1c1916600185901b1785556154cd565b600085815260208120601f198616915b82811015615ba657888601518255948401946001909101908401615b87565b5085821015615bc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115611b9657611b96614ed2565b600082615c0357615c03614ebc565b500690565b60ff8281168282160390811115610b9f57610b9f614ed256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a264697066735822122034fbda6ee7a57746c314fa469a216efe81ca56e2fb02b355584b34785baaf37764736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b60405160200161031794939291906145bb565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461464f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b36600461467f565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a93660046146f6565b610bcc565b3480156103ba57600080fd5b506103ce6103c9366004614737565b610f36565b60405161035791906147d0565b3480156103e757600080fd5b506103fb6103f6366004614737565b6111cd565b6040516103579190614865565b34801561041457600080fd5b50610428610423366004614737565b611333565b60405161035791906148a2565b34801561044157600080fd5b506102b1610450366004614915565b61133e565b6103806104633660046149cb565b6113f7565b34801561047457600080fd5b506102b1610483366004614a16565b611501565b34801561049457600080fd5b506104a86104a33660046146f6565b6119f5565b6040516103579190614a9b565b3480156104c157600080fd5b506102b16104d0366004614915565b611a97565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611aab565b6040516103579190614aff565b3480156105b157600080fd5b506105c56105c03660046146f6565b611adb565b6040516103579190614b22565b3480156105de57600080fd5b506103806105ed366004614bae565b611b9d565b3480156105fe57600080fd5b5061034b61060d36600461464f565b611c6d565b34801561061e57600080fd5b5061063261062d366004614737565b611cc3565b6040516103579190614c00565b34801561064b57600080fd5b5061038061065a366004614737565b6000908152600080516020615c8c8339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611cce565b3480156106aa57600080fd5b506102b1611ce2565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b50610380610752366004614c1e565b611d59565b34801561076357600080fd5b50610598610772366004614737565b611d6e565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b0366004614c4e565b611e0c565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614ccb565b612064565b6103806107f8366004614ced565b61213a565b34801561080957600080fd5b5061081d610818366004614737565b612294565b6040516103579190614d62565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614737565b61240d565b6040516103579190614d8e565b3480156108cb57600080fd5b506103806108da366004614ddb565b612643565b3480156108eb57600080fd5b5061059861275e565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612795565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614e42565b6127b2565b6102b16109e3366004614737565b612871565b3480156109f457600080fd5b506102b1610a0336600461464f565b61296f565b348015610a1457600080fd5b506103ce610a23366004614737565b6129e0565b610a3061275e565b81604051602001610a42929190614e7f565b60408051601f198184030181529082905262461bcd60e51b8252610a6891600401614aff565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614ee8565b610aae906030614f0a565b90506000610abd601086614f23565b610ac8906030614f0a565b905060398260ff161115610ae457610ae1600783614f0a565b91505b60398160ff161115610afe57610afb600782614f0a565b90505b8160f81b83600081518110610b1557610b15614f45565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614f45565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b6000610bb18383612b02565b610bbb6020612bec565b610bc59190614f5b565b9392505050565b6000610c2e600080516020615c6c8339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612ca2565b60005b82811015610f25576001610c68858584818110610c5057610c50614f45565b9050602002810190610c629190614f6e565b35612cb4565b6003811115610c7957610c79614878565b14610d5e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610cb157610cb1614f45565b9050602002810190610cc39190614f6e565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610cfe90600190600401614c00565b600060405180830381865af4158015610d1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d439190810190614fdd565b604051610d51929190615011565b60405180910390a1610f1d565b838382818110610d7057610d70614f45565b9050602002810190610d829190614f6e565b610d9390604081019060200161502a565b63ffffffff161580610dd65750838382818110610db257610db2614f45565b9050602002810190610dc49190614f6e565b610dd2906060810190615045565b1590505b15610e54577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610e0e57610e0e614f45565b9050602002810190610e209190614f6e565b35610e2961275e565b604051602001610e39919061508b565b60408051601f1981840301815290829052610d519291615011565b610f10848483818110610e6957610e69614f45565b9050602002810190610e7b9190614f6e565b35858584818110610e8e57610e8e614f45565b9050602002810190610ea09190614f6e565b610eb190604081019060200161502a565b868685818110610ec357610ec3614f45565b9050602002810190610ed59190614f6e565b60400135878786818110610eeb57610eeb614f45565b9050602002810190610efd9190614f6e565b610f0b906060810190615045565b612d35565b610f1a9083614f5b565b91505b600101610c31565b508015610b9f57610b9f3382612f14565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915281600380610f7083612cb4565b6003811115610f8157610f81614878565b14611010576040516353e8875160e11b815261100b9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b600060405180830381865af4158015610fde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110069190810190614fdd565b610a28565b6111c6565b8361105961101d82612f4a565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612ca2565b61106285612f4a565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906110c7906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546110f3906150c4565b80156111405780601f1061111557610100808354040283529160200191611140565b820191906000526020600020905b81548152906001019060200180831161112357829003601f168201915b5050505050815250509350611160600080516020615c6c83398151915290565b600086815260019182016020526040812081815591829082906111859083018261447f565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906111c0600685018261447f565b50505050505b5050919050565b6112116040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b61121a82612f4a565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b031691810191909152600182018054919291606084019190611272906150c4565b80601f016020809104026020016040519081016040528092919081815260200182805461129e906150c4565b80156112eb5780601f106112c0576101008083540402835291602001916112eb565b820191906000526020600020905b8154815290600101906020018083116112ce57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612f68565b611346613080565b60005b81518110156113bc57600082828151811061136657611366614f45565b602002602001015190506000611387600080516020615c6c83398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611349565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516113ec91906150f8565b60405180910390a150565b60006114033a84612064565b61143c81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612ca2565b61147a61144a82600a615139565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612ca2565b826114b0611487826130ad565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612ca2565b6114bc85856000613106565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516114f193929190615174565b60405180910390a1505092915050565b6000546001600160a01b03166060816115545760608380602001905181019061152a91906151bb565b9093509050611538836131da565b8080602001905181019061154c919061520b565b9150506115ae565b611597826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612ca2565b828060200190518101906115ab919061520b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061161f57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611655576116556040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526116f9907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612ca2565b6117cc630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179091906152a4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612ca2565b611953306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185b91906152ce565b6001600160a01b031614801561192357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191891906152ce565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612ca2565b61195c816131f3565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119db611aab565b6040516119e89190614aff565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611a52907f000000000000000000000000000000000000000000000000000000000000000090879087906004016152eb565b600060405180830381865af4158015611a6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc59190810190615335565b611a9f613080565b611aa8816131f3565b50565b6060611ad67f0000000000000000000000000000000000000000000000000000000000000000613299565b905090565b6060816001600160401b03811115611af557611af56148b0565b604051908082528060200260200182016040528015611b1e578160200160208202803683370190505b50905060005b82811015611b9657611b4d848483818110611b4157611b41614f45565b90506020020135612cb4565b828281518110611b5f57611b5f614f45565b60200260200101906003811115611b7857611b78614878565b90816003811115611b8b57611b8b614878565b905250600101611b24565b5092915050565b6000611bb6600080516020615c6c833981519152610be1565b84600180611bc383612cb4565b6003811115611bd457611bd4614878565b14611c19576040516353e8875160e11b8152611c149073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b611c63565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611c539085151590612ca2565b611c60874288888861333d565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611cb36000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612cb4565b611cd6613080565b611ce060006131da565b565b60015433906001600160a01b03168114611d505760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611aa8816131da565b6000611d658383613361565b610bbb83612bec565b6060611d79826133f9565b6002018054611d87906150c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611db3906150c4565b8015611e005780601f10611dd557610100808354040283529160200191611e00565b820191906000526020600020905b815481529060010190602001808311611de357829003601f168201915b50505050509050919050565b60008060005b87811015611fbd576001611e318a8a84818110611b4157611b41614f45565b6003811115611e4257611e42614878565b03611fb5576000611e6a8a8a84818110611e5e57611e5e614f45565b90506020020135612f4a565b8054909150600160a01b900462ffffff1615611eaa578054611e99908790600160a01b900462ffffff16612b02565b611ea39084614f5b565b9250611f68565b600281015415611f5057611e99867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376b78a0684600201546040518263ffffffff1660e01b8152600401611f0a91815260200190565b602060405180830381865afa158015611f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4b91906153f0565b613361565b611f5b866000613361565b611f659084614f5b565b92505b84611f758260030161341a565b6001600160401b0316611f889190615139565b611f929084614f5b565b8154909350611fb190600160b81b90046001600160481b031685614f5b565b9350505b600101611e12565b506040516324ca470760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906349948e0e9061200c9089908990600401615436565b602060405180830381865afa158015612029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204d919061544a565b6120579082614f5b565b9050965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f291906153f0565b905061212860008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612ca2565b6121328482611d59565b949350505050565b600033826121f4823b158015906121b557506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa158015612191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b59190615463565b80156121c6575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612ca2565b6121ff3a5b85610ba5565b6122098134611409565b61221761144a82600a615139565b85612224611487826130ad565b61223060008888613106565b9450888861223d87612f4a565b6001019161224c9190836154d5565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161228093929190615174565b60405180910390a150505050949350505050565b60408051808201909152600081526060602082015260006122b483612f68565b905073__WitnetErrorsLib_______________________63a62b8462826122da866133f9565b6002016040518363ffffffff1660e01b81526004016122fa929190615595565b600060405180830381865af492505050801561233857506040513d6000823e601f3d908101601f191682016040526123359190810190615634565b60015b610bc5576123446156cd565b806308c379a0036123a057506123586156e9565b8061236357506123a2565b604080518082019091528060008152602001826040516020016123869190615772565b60408051601f198184030181529190529052949350505050565b505b3d8080156123cc576040519150601f19603f3d011682016040523d82523d6000602084013e6123d1565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615c4b602191399052949350505050565b50919050565b6124156144b9565b6000828152600080516020615c8c83398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a085019190612490906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546124bc906150c4565b80156125095780601f106124de57610100808354040283529160200191612509565b820191906000526020600020905b8154815290600101906020018083116124ec57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906125b7906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546125e3906150c4565b80156126305780601f1061260557610100808354040283529160200191612630565b820191906000526020600020905b81548152906001019060200180831161261357829003601f168201915b5050509190925250505090525092915050565b600061265c600080516020615c6c833981519152610be1565b8560018061266983612cb4565b600381111561267a5761267a614878565b146126bf576040516353e8875160e11b81526126ba9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b612753565b61270960008863ffffffff161180156126de5750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612ca2565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127439085151590612ca2565b612750888888888861333d565b92505b505095945050505050565b60408051808201909152601981527f5769746e65744f7261636c65547275737461626c654f766d3200000000000000602082015290565b6000600080516020615c6c83398151915254611ad6906001614f5b565b600033826127f0823b158015906121b557506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612174565b6127f93a6121f9565b6128038134611409565b61281161144a82600a615139565b8561281e611487826130ad565b612829888888613106565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161285e93929190615174565b60405180910390a1505050509392505050565b8060018061287e83612cb4565b600381111561288f5761288f614878565b146128d4576040516353e8875160e11b81526128cf9073__WitnetOracleDataLib___________________9063a7d10ea290610fc1908590600401614c00565b505050565b60006128df84612f4a565b90503481548290601790612904908490600160b81b90046001600160481b03166157ab565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b612977613080565b600180546001600160a01b0383166001600160a01b031990911681179091556129a86000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a16826133f9565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612a79906150c4565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa5906150c4565b8015612af25780601f10612ac757610100808354040283529160200191612af2565b820191906000526020600020905b815481529060010190602001808311612ad557829003601f168201915b5050505050815250509050919050565b600080612b307f00000000000000000000000000000000000000000000000000000000000000006003615139565b612b5a907f0000000000000000000000000000000000000000000000000000000000000000614f5b565b9050808362ffffff161080612b9c575080612b9a62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614f5b565b105b15612bb357612bab8185615139565b915050610b9f565b612be262ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614f5b565b612bab9085615139565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166349948e0e612c268461344a565b604051602001612c3691906157cb565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612c619190614aff565b602060405180830381865afa158015612c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061544a565b81612cb057612cb081610a28565b5050565b6000818152600080516020615c8c833981519152602052604081206004810154600160e01b900463ffffffff1615612d13576004810154600160a01b90046001600160401b03164310612d0a5750600392915050565b50600292915050565b80546001600160a01b031615612d2c5750600192915050565b50600092915050565b600080612d4187612f4a565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612e8d57805460009081908190612db0908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613506565b9250925092508115612e0057604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612e6a565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612e4d57604051806060016040528060298152602001615c2260299139612e4f565b865b604051612e619695949392919061585b565b60405180910390a15b612e858a8a8a6040518060200160405280600081525061389c565b505050612f0a565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612f0a87878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061389c92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156128cf573d6000803e3d6000fd5b6000908152600080516020615c8c8339815191526020526040902090565b600080612f7483612cb4565b90506003816003811115612f8a57612f8a614878565b0361303c576000838152600080516020615c8c8339815191526020526040812060060180549091908290612fbd906150c4565b90501115613032578054601b60fb1b908290600090612fdb906150c4565b8110612fe957612fe9614f45565b8154600116156130085790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614613028576002612132565b6003949350505050565b5060059392505050565b600181600381111561305057613050614878565b0361305e5750600192915050565b600281600381111561307257613072614878565b03612d2c5750600492915050565b6000546001600160a01b03163314611ce05760405163118cdaa760e01b8152336004820152602401610a68565b6000806130c060408401602085016158a0565b6001600160401b03161180156130e5575060006130e060208401846158bd565b60ff16115b8015610b9f5750607f6130fb60208401846158bd565b60ff16111592915050565b6000600080516020615c6c8339815191528054600090613125906158da565b91829055509050600061313782612f4a565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250613177916001600160a01b039091161590612ca2565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b03161781556002810185905583600382016131cf82826158f3565b905050509392505050565b600180546001600160a01b0319169055611aa881613969565b60005b815181101561326957600082828151811061321357613213614f45565b602002602001015190506001613234600080516020615c6c83398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff19169115159190911790556001016131f6565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516113ec91906150f8565b606060006132a6836139b9565b6001600160401b038111156132bd576132bd6148b0565b6040519080825280601f01601f1916602001820160405280156132e7576020820181803683370190505b50905060005b8151811015611b965783816020811061330857613308614f45565b1a60f81b82828151811061331e5761331e614f45565b60200101906001600160f81b031916908160001a9053506001016132ed565b600061334c8686868686612d35565b90506133583382612f14565b95945050505050565b6000602061ffff83161561337f5761337a600184615943565b613382565b60005b61338c919061595e565b61339790600461597f565b6133c59061ffff167f0000000000000000000000000000000000000000000000000000000000000000615139565b6133ef907f0000000000000000000000000000000000000000000000000000000000000000614f5b565b610bc59084615139565b6000908152600080516020615c8c8339815191526020526040902060040190565b805460009061342d9060ff166003614f0a565b8254610b9f9160ff169061010090046001600160401b031661599a565b60606000602061ffff84160461ffff166001600160401b03811115613471576134716148b0565b60405190808252806020026020018201604052801561349a578160200160208202803683370190505b50905060005b81518110156134d1576000198282815181106134be576134be614f45565b60209081029190910101526001016134a0565b506040516134ef9082906000196001601f88161b01906020016159c5565b604051602081830303815290604052915050919050565b60008060605a9250601b60fb1b878760008161352457613524614f45565b9050013560f81c60f81b6001600160f81b0319160361377457600061358661358189898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f792505050565b613a1c565b90506002815110156136ad57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161363a96959493929190615a81565b600060405180830381600088803b15801561365457600080fd5b5087f193505050508015613666575060015b6136a4576136726156cd565b806308c379a00361369857506136866156e9565b80613691575061369a565b915061376e565b505b3d6000803e3d6000fd5b6001925061376e565b856001600160a01b03166363febc9c868d8d8d436136e4886000815181106136d7576136d7614f45565b6020026020010151613bcc565b60fe8111156136f5576136f5614878565b8860008151811061370857613708614f45565b60200260200101516040518863ffffffff1660e01b815260040161373196959493929190615a81565b600060405180830381600088803b15801561374b57600080fd5b5087f19350505050801561375d575060015b613769576136726156cd565b600192505b50613882565b846001600160a01b031663bcc6307b858c8c8c436137c78e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f792505050565b6040518763ffffffff1660e01b81526004016137e7959493929190615ace565b600060405180830381600088803b15801561380157600080fd5b5087f193505050508015613813575060015b61387d5761381f6156cd565b806308c379a00361384557506138336156e9565b8061383e5750613847565b9050613882565b505b3d808015613871576040519150601f19603f3d011682016040523d82523d6000602084013e613876565b606091505b5050613882565b600191505b5a61388d9084615b02565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff168152602001838152602001828152506138e485612f4a565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b039095169490941791909117169190911781556060830151600583015560808301519091600601906139609082615b15565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156139f2578181602081106139d7576139d7614f45565b1a60f81b6001600160f81b031916156139f2576001016139bc565b919050565b6139ff61453b565b6040805180820190915282815260006020820152610bc581613c2f565b60608160048060ff16826040015160ff1614613a5c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613a7085600001518660600151613d4f565b9050613a7d816001615bd4565b6001600160401b03166001600160401b03811115613a9d57613a9d6148b0565b604051908082528060200260200182016040528015613ad657816020015b613ac361453b565b815260200190600190039081613abb5790505b50935060005b816001600160401b0316811015613b9c57613af686613e17565b9550613b0186613e3f565b858281518110613b1357613b13614f45565b6020026020010181905250600460ff16866040015160ff1603613b6c576000613b3b87613a1c565b90508060018251613b4c9190615b02565b81518110613b5c57613b5c614f45565b6020026020010151965050613b94565b600560ff16866040015160ff1603613b89576000613b3b87613ed7565b613b92866140c1565b505b600101613adc565b508484826001600160401b031681518110613bb957613bb9614f45565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff1614613c0c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b613c1e84600001518560600151613d4f565b6001600160401b0316949350505050565b613c3761453b565b8151518290600003613c5c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613cdf57613c7c89614286565b955081613c88816158da565b6007600589901c169650601f881695509250506005198501613cd7576020890151613cb38a86613d4f565b9350808a60200151613cc59190615b02565b613ccf9084614f5b565b925050613c6d565b506000613c6d565b600760ff86161115613d095760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613d67575060ff8116610b9f565b8160ff16601803613d8557613d7b83614286565b60ff169050610b9f565b8160ff16601903613da457613d99836142e8565b61ffff169050610b9f565b8160ff16601a03613dc557613db883614354565b63ffffffff169050610b9f565b8160ff16601b03613de057613dd9836143b3565b9050610b9f565b8160ff16601f03613df957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613e1f61453b565b81518051516020909101511015613e3b578151610b9f90613c2f565b5090565b613e4761453b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613f1757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613f2b85600001518660600151613d4f565b613f3690600261599a565b9050613f43816001615bd4565b6001600160401b03166001600160401b03811115613f6357613f636148b0565b604051908082528060200260200182016040528015613f9c57816020015b613f8961453b565b815260200190600190039081613f815790505b50935060005b816001600160401b0316811015613b9c57613fbc86613e17565b9550613fc786613e3f565b858281518110613fd957613fd9614f45565b6020908102919091010152613fef600282615bf4565b1580156140045750604086015160ff16600314155b1561403257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff166004148061404f5750604086015160ff166005145b156140ae57604086015160009060ff166004146140745761406f87613ed7565b61407d565b61407d87613a1c565b9050806001825161408e9190615b02565b8151811061409e5761409e614f45565b60200260200101519650506140b9565b6140b7866140c1565b505b600101613fa2565b6140c961453b565b604082015160ff1615806140e45750604082015160ff166001145b8061411d5750604082015160ff16600714801561410957506019826060015160ff1610155b801561411d5750601b826060015160ff1611155b156141505761412b82614412565b6001600160401b031682600001516020018181516141499190614f5b565b9052505090565b604082015160ff166003148061416d5750604082015160ff166002145b156141b157600061418683600001518460600151613d4f565b9050806001600160401b031683600001516020018181516141a79190614f5b565b905250613e3b9050565b604082015160ff16600414806141ce5750604082015160ff166005145b156141f7576141e582600001518360600151613d4f565b6001600160401b031660808301525090565b604082015160ff1660071415806142295750816060015160ff166014141580156142295750816060015160ff16601514155b15613e3b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b60008160200151826000015151808211156142be576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180518083016001015195509081906142db826158da565b8152505050505050919050565b6000816020015160026142fb9190614f5b565b82515180821115614329576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916143478284614f5b565b9052509395945050505050565b6000816020015160046143679190614f5b565b82515180821115614395576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916143478284614f5b565b6000816020015160086143c69190614f5b565b825151808211156143f4576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916143478284614f5b565b60006018826060015160ff16101561442c57506000919050565b601c826060015160ff16101561445b576018826060015161444d9190615c08565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b50805461448b906150c4565b6000825580601f1061449b575050565b601f016020900490600052602060002090810190611aa89190614582565b60405180604001604052806145086040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613e3b5760008155600101614583565b60005b838110156145b257818101518382015260200161459a565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b8152600085516145e9816013850160208a01614597565b855190830190614600816013840160208a01614597565b8551910190614616816013840160208901614597565b845191019061462c816013840160208801614597565b016013019695505050505050565b6001600160a01b0381168114611aa857600080fd5b60006020828403121561466157600080fd5b8135610bc58161463a565b803562ffffff811681146139f257600080fd5b6000806040838503121561469257600080fd5b823591506146a26020840161466c565b90509250929050565b60008083601f8401126146bd57600080fd5b5081356001600160401b038111156146d457600080fd5b6020830191508360208260051b85010111156146ef57600080fd5b9250929050565b6000806020838503121561470957600080fd5b82356001600160401b0381111561471f57600080fd5b61472b858286016146ab565b90969095509350505050565b60006020828403121561474957600080fd5b5035919050565b60008151808452614768816020860160208601614597565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261213260a0850182614750565b602081526000610bc5602083018461477c565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261482c60e0850182614750565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000610bc560208301846147e3565b634e487b7160e01b600052602160045260246000fd5b6006811061489e5761489e614878565b9052565b60208101610b9f828461488e565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156148eb576148eb6148b0565b6040525050565b60006001600160401b0382111561490b5761490b6148b0565b5060051b60200190565b6000602080838503121561492857600080fd5b82356001600160401b0381111561493e57600080fd5b8301601f8101851361494f57600080fd5b803561495a816148f2565b60405161496782826148c6565b82815260059290921b830184019184810191508783111561498757600080fd5b928401925b828410156149ae57833561499f8161463a565b8252928401929084019061498c565b979650505050505050565b60006040828403121561240757600080fd5b600080606083850312156149de57600080fd5b823591506146a284602085016149b9565b60006001600160401b03821115614a0857614a086148b0565b50601f01601f191660200190565b600060208284031215614a2857600080fd5b81356001600160401b03811115614a3e57600080fd5b8201601f81018413614a4f57600080fd5b8035614a5a816149ef565b604051614a6782826148c6565b828152866020848601011115614a7c57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015614af257603f19888603018452614ae0858351614750565b94509285019290850190600101614ac4565b5092979650505050505050565b602081526000610bc56020830184614750565b6004811061489e5761489e614878565b6020808252825182820181905260009190848201906040850190845b81811015614b6157614b51838551614b12565b9284019291840191600101614b3e565b50909695505050505050565b60008083601f840112614b7f57600080fd5b5081356001600160401b03811115614b9657600080fd5b6020830191508360208285010111156146ef57600080fd5b60008060008060608587031215614bc457600080fd5b843593506020850135925060408501356001600160401b03811115614be857600080fd5b614bf487828801614b6d565b95989497509550505050565b60208101610b9f8284614b12565b61ffff81168114611aa857600080fd5b60008060408385031215614c3157600080fd5b823591506020830135614c4381614c0e565b809150509250929050565b60008060008060008060808789031215614c6757600080fd5b86356001600160401b0380821115614c7e57600080fd5b614c8a8a838b016146ab565b90985096506020890135915080821115614ca357600080fd5b50614cb089828a01614b6d565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614cde57600080fd5b50508035926020909101359150565b60008060008060808587031215614d0357600080fd5b84356001600160401b03811115614d1957600080fd5b614d2587828801614b6d565b9095509350614d39905086602087016149b9565b9150614d476060860161466c565b905092959194509250565b60ff811061489e5761489e614878565b60208152614d74602082018351614d52565b600060208301516040808401526121326060840182614750565b602081526000825160406020840152614daa60608401826147e3565b90506020840151601f19848303016040850152613358828261477c565b803563ffffffff811681146139f257600080fd5b600080600080600060808688031215614df357600080fd5b85359450614e0360208701614dc7565b93506040860135925060608601356001600160401b03811115614e2557600080fd5b614e3188828901614b6d565b969995985093965092949392505050565b600080600060808486031215614e5757600080fd5b83359250614e6885602086016149b9565b9150614e766060850161466c565b90509250925092565b60008351614e91818460208801614597565b6101d160f51b9083019081528351614eb0816002840160208801614597565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614efb57614efb614ebc565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614ed2565b600060ff831680614f3657614f36614ebc565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b9f57610b9f614ed2565b60008235607e19833603018112614f8457600080fd5b9190910192915050565b600082601f830112614f9f57600080fd5b8151614faa816149ef565b604051614fb782826148c6565b828152856020848701011115614fcc57600080fd5b613358836020830160208801614597565b600060208284031215614fef57600080fd5b81516001600160401b0381111561500557600080fd5b61213284828501614f8e565b8281526040602082015260006121326040830184614750565b60006020828403121561503c57600080fd5b610bc582614dc7565b6000808335601e1984360301811261505c57600080fd5b8301803591506001600160401b0382111561507657600080fd5b6020019150368190038213156146ef57600080fd5b6000825161509d818460208701614597565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c908216806150d857607f821691505b60208210810361240757634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015614b615783516001600160a01b031683529284019291840191600101615114565b8082028115828204841417610b9f57610b9f614ed2565b60ff81168114611aa857600080fd5b6001600160401b0381168114611aa857600080fd5b8381526020810183905260808101823561518d81615150565b60ff16604083015260208301356151a38161515f565b6001600160401b038116606084015250949350505050565b600080604083850312156151ce57600080fd5b82516151d98161463a565b60208401519092506001600160401b038111156151f557600080fd5b61520185828601614f8e565b9150509250929050565b6000602080838503121561521e57600080fd5b82516001600160401b0381111561523457600080fd5b8301601f8101851361524557600080fd5b8051615250816148f2565b60405161525d82826148c6565b82815260059290921b830184019184810191508783111561527d57600080fd5b928401925b828410156149ae5783516152958161463a565b82529284019290840190615282565b6000602082840312156152b657600080fd5b81516001600160e01b031981168114610bc557600080fd5b6000602082840312156152e057600080fd5b8151610bc58161463a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561531b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561534857600080fd5b82516001600160401b038082111561535f57600080fd5b818501915085601f83011261537357600080fd5b815161537e816148f2565b60405161538b82826148c6565b82815260059290921b84018501918581019150888311156153ab57600080fd5b8585015b838110156153e3578051858111156153c75760008081fd5b6153d58b89838a0101614f8e565b8452509186019186016153af565b5098975050505050505050565b60006020828403121561540257600080fd5b8151610bc581614c0e565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061213260208301848661540d565b60006020828403121561545c57600080fd5b5051919050565b60006020828403121561547557600080fd5b81518015158114610bc557600080fd5b601f8211156128cf576000816000526020600020601f850160051c810160208610156154ae5750805b601f850160051c820191505b818110156154cd578281556001016154ba565b505050505050565b6001600160401b038311156154ec576154ec6148b0565b615500836154fa83546150c4565b83615485565b6000601f841160018114615534576000851561551c5750838201355b600019600387901b1c1916600186901b17835561558e565b600083815260209020601f19861690835b828110156155655786850135825560209485019460019092019101615545565b50868210156155825760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b61559f818461488e565b6000602060406020840152600084546155b7816150c4565b80604087015260606001808416600081146155d957600181146155f557615625565b60ff19851660608a0152606084151560051b8a01019550615625565b89600052602060002060005b8581101561561c5781548b8201860152908301908801615601565b8a016060019650505b50939998505050505050505050565b60006020828403121561564657600080fd5b81516001600160401b038082111561565d57600080fd5b908301906040828603121561567157600080fd5b60405160408101818110838211171561568c5761568c6148b0565b604052825160ff811061569e57600080fd5b81526020830151828111156156b257600080fd5b6156be87828601614f8e565b60208301525095945050505050565b600060033d11156156e65760046000803e5060005160e01c5b90565b600060443d10156156f75790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561572657505050505090565b828501915081518181111561573e5750505050505090565b843d87010160208285010111156157585750505050505090565b615767602082860101876148c6565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b81526000825161579e816011850160208701614597565b9190910160110192915050565b6001600160481b03818116838216019080821115611b9657611b96614ed2565b630375962160e11b8152600160e51b602080830191909152600160e01b604083015260ff600160e51b0160608301526001600160e01b0319608083015260001960a08301526001600160d41b031960c0830152600160df1b60e083015260ff60d81b6101008301528251600091610105919061584e908290848701908801614597565b9290920190910192915050565b86815260a06020820152600061587560a08301878961540d565b85604084015284606084015282810360808401526158938185614750565b9998505050505050505050565b6000602082840312156158b257600080fd5b8135610bc58161515f565b6000602082840312156158cf57600080fd5b8135610bc581615150565b6000600182016158ec576158ec614ed2565b5060010190565b81356158fe81615150565b60ff8116905081548160ff198216178355602084013561591d8161515f565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b61ffff828116828216039080821115611b9657611b96614ed2565b600061ffff8084168061597357615973614ebc565b92169190910492915050565b61ffff818116838216019080821115611b9657611b96614ed2565b6001600160401b038181168382160280821691908281146159bd576159bd614ed2565b505092915050565b825160009082906020808701845b838110156159ef578151855293820193908201906001016159d3565b505050938152602001949350505050565b6000815160c084528051604060c0860152615a1f610100860182614750565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b0386166020820152846040820152836060820152615aac6080820184614d52565b60c060a08201526000615ac260c0830184615a00565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006149ae60a0830184615a00565b81810381811115610b9f57610b9f614ed2565b81516001600160401b03811115615b2e57615b2e6148b0565b615b4281615b3c84546150c4565b84615485565b602080601f831160018114615b775760008415615b5f5750858301515b600019600386901b1c1916600185901b1785556154cd565b600085815260208120601f198616915b82811015615ba657888601518255948401946001909101908401615b87565b5085821015615bc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115611b9657611b96614ed2565b600082615c0357615c03614ebc565b500690565b60ff8281168282160390811115610b9f57610b9f614ed256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a264697066735822122034fbda6ee7a57746c314fa469a216efe81ca56e2fb02b355584b34785baaf37764736f6c63430008190033",
  "immutableReferences": {
    "3715": [
      {
        "length": 32,
        "start": 6834
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2382
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1326
      }
    ],
    "4393": [
      {
        "length": 32,
        "start": 8149
      },
      {
        "length": 32,
        "start": 11248
      }
    ],
    "4890": [
      {
        "length": 32,
        "start": 2160
      }
    ],
    "4894": [
      {
        "length": 32,
        "start": 1733
      },
      {
        "length": 32,
        "start": 6254
      },
      {
        "length": 32,
        "start": 6694
      },
      {
        "length": 32,
        "start": 7866
      },
      {
        "length": 32,
        "start": 8327
      }
    ],
    "4897": [
      {
        "length": 32,
        "start": 2307
      },
      {
        "length": 32,
        "start": 5832
      },
      {
        "length": 32,
        "start": 5904
      },
      {
        "length": 32,
        "start": 6107
      },
      {
        "length": 32,
        "start": 6296
      }
    ],
    "6838": [
      {
        "length": 32,
        "start": 13259
      }
    ],
    "6840": [
      {
        "length": 32,
        "start": 11126
      },
      {
        "length": 32,
        "start": 11198
      }
    ],
    "6842": [
      {
        "length": 32,
        "start": 11062
      }
    ],
    "6844": [
      {
        "length": 32,
        "start": 11018
      },
      {
        "length": 32,
        "start": 13217
      }
    ],
    "24100": [
      {
        "length": 32,
        "start": 2464
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1252
      },
      {
        "length": 32,
        "start": 2105
      },
      {
        "length": 32,
        "start": 5629
      },
      {
        "length": 32,
        "start": 5719
      },
      {
        "length": 32,
        "start": 6494
      },
      {
        "length": 32,
        "start": 6528
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1375
      },
      {
        "length": 32,
        "start": 7281
      }
    ]
  },
  "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:46661:84",
        "nodeType": "YulBlock",
        "src": "0:46661: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": "20450:77:84",
              "nodeType": "YulBlock",
              "src": "20450:77:84",
              "statements": [
                {
                  "nativeSrc": "20460:16:84",
                  "nodeType": "YulAssignment",
                  "src": "20460:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20471:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20471:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20474:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20474:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20467:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20467:3:84"
                    },
                    "nativeSrc": "20467:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20467:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20460:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20460:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20499:22:84",
                    "nodeType": "YulBlock",
                    "src": "20499:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20501:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20501:16:84"
                          },
                          "nativeSrc": "20501:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20501:18:84"
                        },
                        "nativeSrc": "20501:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20501:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20491:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20491:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "20494:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20494:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20488:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20488:2:84"
                    },
                    "nativeSrc": "20488:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20488:10:84"
                  },
                  "nativeSrc": "20485:36:84",
                  "nodeType": "YulIf",
                  "src": "20485:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "20402:125: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": "sum",
                "nativeSrc": "20442:3:84",
                "nodeType": "YulTypedName",
                "src": "20442:3:84",
                "type": ""
              }
            ],
            "src": "20402:125:84"
          },
          {
            "body": {
              "nativeSrc": "20639:223:84",
              "nodeType": "YulBlock",
              "src": "20639:223:84",
              "statements": [
                {
                  "nativeSrc": "20649:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20649:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "20688:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "20688:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20675:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20675:12:84"
                    },
                    "nativeSrc": "20675:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20675:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "20653:18:84",
                      "nodeType": "YulTypedName",
                      "src": "20653:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20790:16:84",
                    "nodeType": "YulBlock",
                    "src": "20790:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20799:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20799:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20802:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20802:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20792:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20792:6:84"
                          },
                          "nativeSrc": "20792:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20792:12:84"
                        },
                        "nativeSrc": "20792:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20792:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "20723:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "20723:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "20751:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "20751:12:84"
                                    },
                                    "nativeSrc": "20751:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20751:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "20767:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20767:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "20747:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20747:3:84"
                                },
                                "nativeSrc": "20747:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20747:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20782:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "20782:3:84",
                                    "type": "",
                                    "value": "126"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "20778:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20778:3:84"
                                },
                                "nativeSrc": "20778:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20778:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20743:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20743:3:84"
                            },
                            "nativeSrc": "20743:44:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20743:44:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "20719:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20719:3:84"
                        },
                        "nativeSrc": "20719:69:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20719:69:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20712:6:84"
                    },
                    "nativeSrc": "20712:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20712:77:84"
                  },
                  "nativeSrc": "20709:97:84",
                  "nodeType": "YulIf",
                  "src": "20709:97:84"
                },
                {
                  "nativeSrc": "20815:41:84",
                  "nodeType": "YulAssignment",
                  "src": "20815:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "20827:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "20827:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "20837:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "20837:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20823:3:84"
                    },
                    "nativeSrc": "20823:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20823:33:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "20815:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20815:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr",
            "nativeSrc": "20532:330:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "20604:8:84",
                "nodeType": "YulTypedName",
                "src": "20604:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "20614:11:84",
                "nodeType": "YulTypedName",
                "src": "20614:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "20630:4:84",
                "nodeType": "YulTypedName",
                "src": "20630:4:84",
                "type": ""
              }
            ],
            "src": "20532:330:84"
          },
          {
            "body": {
              "nativeSrc": "20991:97:84",
              "nodeType": "YulBlock",
              "src": "20991:97:84",
              "statements": [
                {
                  "nativeSrc": "21001:26:84",
                  "nodeType": "YulAssignment",
                  "src": "21001:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21013:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21013:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21024:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21024:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21009:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21009:3:84"
                    },
                    "nativeSrc": "21009:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21009:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21001:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21001:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21064:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21064:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "21072:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21072:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "21036:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21036:27:84"
                    },
                    "nativeSrc": "21036:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21036:46:84"
                  },
                  "nativeSrc": "21036:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21036:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "20867:221:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20960:9:84",
                "nodeType": "YulTypedName",
                "src": "20960:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20971:6:84",
                "nodeType": "YulTypedName",
                "src": "20971:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20982:4:84",
                "nodeType": "YulTypedName",
                "src": "20982:4:84",
                "type": ""
              }
            ],
            "src": "20867:221:84"
          },
          {
            "body": {
              "nativeSrc": "21157:425:84",
              "nodeType": "YulBlock",
              "src": "21157:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21206:16:84",
                    "nodeType": "YulBlock",
                    "src": "21206:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21215:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21215:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21218:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21218:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21208:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21208:6:84"
                          },
                          "nativeSrc": "21208:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21208:12:84"
                        },
                        "nativeSrc": "21208:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21208:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21185:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21185:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21193:4:84",
                                "nodeType": "YulLiteral",
                                "src": "21193:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21181:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21181:3:84"
                            },
                            "nativeSrc": "21181:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21181:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "21200:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "21200:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21177:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21177:3:84"
                        },
                        "nativeSrc": "21177:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21177:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21170:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21170:6:84"
                    },
                    "nativeSrc": "21170:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21170:35:84"
                  },
                  "nativeSrc": "21167:55:84",
                  "nodeType": "YulIf",
                  "src": "21167:55:84"
                },
                {
                  "nativeSrc": "21231:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21231:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21247:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21247:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21241:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21241:5:84"
                    },
                    "nativeSrc": "21241:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21241:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21235:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21235:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21263:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21263:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21301:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21301:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "21273:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21273:27:84"
                    },
                    "nativeSrc": "21273:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21273:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "21267:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21267:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21313:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21313:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21333:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21333:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21327:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21327:5:84"
                    },
                    "nativeSrc": "21327:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21327:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "21317:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21317:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21365:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21365:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "21373:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21373:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "21345:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "21345:19:84"
                    },
                    "nativeSrc": "21345:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21345:31:84"
                  },
                  "nativeSrc": "21345:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21345:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21392:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21392:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21400:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21400:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21385:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21385:6:84"
                    },
                    "nativeSrc": "21385:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21385:18:84"
                  },
                  "nativeSrc": "21385:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21385:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "21451:16:84",
                    "nodeType": "YulBlock",
                    "src": "21451:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21460:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21460:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21463:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21463:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21453:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21453:6:84"
                          },
                          "nativeSrc": "21453:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21453:12:84"
                        },
                        "nativeSrc": "21453:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21453:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21426:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21426:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "21434:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "21434:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21422:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21422:3:84"
                            },
                            "nativeSrc": "21422:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21422:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21439:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21439:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21418:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21418:3:84"
                        },
                        "nativeSrc": "21418:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21418:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "21446:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "21446:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21415:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21415:2:84"
                    },
                    "nativeSrc": "21415:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21415:35:84"
                  },
                  "nativeSrc": "21412:55:84",
                  "nodeType": "YulIf",
                  "src": "21412:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "21515:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21515:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21523:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21523:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21511:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21511:3:84"
                        },
                        "nativeSrc": "21511:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21511:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "21534:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21534:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21542:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21542:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21530:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21530:3:84"
                        },
                        "nativeSrc": "21530:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21530:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21549:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21549:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "21476:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "21476:34:84"
                    },
                    "nativeSrc": "21476:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21476:76:84"
                  },
                  "nativeSrc": "21476:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21476:76:84"
                },
                {
                  "nativeSrc": "21561:15:84",
                  "nodeType": "YulAssignment",
                  "src": "21561:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "21570:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "21570:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "21561:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21561:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "21093:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "21131:6:84",
                "nodeType": "YulTypedName",
                "src": "21131:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "21139:3:84",
                "nodeType": "YulTypedName",
                "src": "21139:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "21147:5:84",
                "nodeType": "YulTypedName",
                "src": "21147:5:84",
                "type": ""
              }
            ],
            "src": "21093:489:84"
          },
          {
            "body": {
              "nativeSrc": "21678:246:84",
              "nodeType": "YulBlock",
              "src": "21678:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21724:16:84",
                    "nodeType": "YulBlock",
                    "src": "21724:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21733:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21733:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21736:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21736:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21726:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21726:6:84"
                          },
                          "nativeSrc": "21726:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21726:12:84"
                        },
                        "nativeSrc": "21726:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21726:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21699:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "21699:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21708:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21708:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21695:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21695:3:84"
                        },
                        "nativeSrc": "21695:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21695:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21720:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21720:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21691:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21691:3:84"
                    },
                    "nativeSrc": "21691:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21691:32:84"
                  },
                  "nativeSrc": "21688:52:84",
                  "nodeType": "YulIf",
                  "src": "21688:52:84"
                },
                {
                  "nativeSrc": "21749:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21749:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21769:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21769:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21763:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21763:5:84"
                    },
                    "nativeSrc": "21763:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21763:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "21753:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21753:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21822:16:84",
                    "nodeType": "YulBlock",
                    "src": "21822:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21831:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21831:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21834:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21834:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21824:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21824:6:84"
                          },
                          "nativeSrc": "21824:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21824:12:84"
                        },
                        "nativeSrc": "21824:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21824:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21794:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21794:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21802:18:84",
                        "nodeType": "YulLiteral",
                        "src": "21802:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21791:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21791:2:84"
                    },
                    "nativeSrc": "21791:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21791:30:84"
                  },
                  "nativeSrc": "21788:50:84",
                  "nodeType": "YulIf",
                  "src": "21788:50:84"
                },
                {
                  "nativeSrc": "21847:71:84",
                  "nodeType": "YulAssignment",
                  "src": "21847:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21890:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21890:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "21901:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21901:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21886:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21886:3:84"
                        },
                        "nativeSrc": "21886:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21886:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "21910:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "21910:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "21857:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "21857:28:84"
                    },
                    "nativeSrc": "21857:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21857:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21847:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21847:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "21587:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21644:9:84",
                "nodeType": "YulTypedName",
                "src": "21644:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21655:7:84",
                "nodeType": "YulTypedName",
                "src": "21655:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21667:6:84",
                "nodeType": "YulTypedName",
                "src": "21667:6:84",
                "type": ""
              }
            ],
            "src": "21587:337:84"
          },
          {
            "body": {
              "nativeSrc": "22078:141:84",
              "nodeType": "YulBlock",
              "src": "22078:141:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22095:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22095:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "22106:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22106:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22088:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22088:6:84"
                    },
                    "nativeSrc": "22088:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22088:25:84"
                  },
                  "nativeSrc": "22088:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22088:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22133:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22133:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22144:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22144:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22129:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22129:3:84"
                        },
                        "nativeSrc": "22129:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22129:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22149:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22149:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22122:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22122:6:84"
                    },
                    "nativeSrc": "22122:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22122:30:84"
                  },
                  "nativeSrc": "22122:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22122:30:84"
                },
                {
                  "nativeSrc": "22161:52:84",
                  "nodeType": "YulAssignment",
                  "src": "22161:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22186:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22186:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22198:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22198:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22209:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22209:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22194:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22194:3:84"
                        },
                        "nativeSrc": "22194:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22194:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "22169:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "22169:16:84"
                    },
                    "nativeSrc": "22169:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22169:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22161:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22161:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "21929:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22039:9:84",
                "nodeType": "YulTypedName",
                "src": "22039:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22050:6:84",
                "nodeType": "YulTypedName",
                "src": "22050:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22058:6:84",
                "nodeType": "YulTypedName",
                "src": "22058:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22069:4:84",
                "nodeType": "YulTypedName",
                "src": "22069:4:84",
                "type": ""
              }
            ],
            "src": "21929:290:84"
          },
          {
            "body": {
              "nativeSrc": "22293:115:84",
              "nodeType": "YulBlock",
              "src": "22293:115:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22339:16:84",
                    "nodeType": "YulBlock",
                    "src": "22339:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22348:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22348:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22351:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22351:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22341:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22341:6:84"
                          },
                          "nativeSrc": "22341:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22341:12:84"
                        },
                        "nativeSrc": "22341:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22341:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22314:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22314:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22323:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22323:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22310:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22310:3:84"
                        },
                        "nativeSrc": "22310:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22310:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22335:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22335:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22306:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22306:3:84"
                    },
                    "nativeSrc": "22306:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22306:32:84"
                  },
                  "nativeSrc": "22303:52:84",
                  "nodeType": "YulIf",
                  "src": "22303:52:84"
                },
                {
                  "nativeSrc": "22364:38:84",
                  "nodeType": "YulAssignment",
                  "src": "22364:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22392:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22392:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "22374:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "22374:17:84"
                    },
                    "nativeSrc": "22374:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22374:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22364:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22364:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "22224:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22259:9:84",
                "nodeType": "YulTypedName",
                "src": "22259:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22270:7:84",
                "nodeType": "YulTypedName",
                "src": "22270:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22282:6:84",
                "nodeType": "YulTypedName",
                "src": "22282:6:84",
                "type": ""
              }
            ],
            "src": "22224:184:84"
          },
          {
            "body": {
              "nativeSrc": "22507:427:84",
              "nodeType": "YulBlock",
              "src": "22507:427:84",
              "statements": [
                {
                  "nativeSrc": "22517:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22517:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "22556:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "22556:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22543:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22543:12:84"
                    },
                    "nativeSrc": "22543:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22543:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "22521:18:84",
                      "nodeType": "YulTypedName",
                      "src": "22521:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22657:16:84",
                    "nodeType": "YulBlock",
                    "src": "22657:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22666:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22666:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22669:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22659:6:84"
                          },
                          "nativeSrc": "22659:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22659:12:84"
                        },
                        "nativeSrc": "22659:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22659:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "22591:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "22591:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "22619:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "22619:12:84"
                                    },
                                    "nativeSrc": "22619:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22619:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "22635:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "22635:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "22615:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22615:3:84"
                                },
                                "nativeSrc": "22615:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22615:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22650:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "22650:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "22646:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22646:3:84"
                                },
                                "nativeSrc": "22646:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22646:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "22611:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "22611:3:84"
                            },
                            "nativeSrc": "22611:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22611:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "22587:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22587:3:84"
                        },
                        "nativeSrc": "22587:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22587:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22580:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22580:6:84"
                    },
                    "nativeSrc": "22580:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22580:76:84"
                  },
                  "nativeSrc": "22577:96:84",
                  "nodeType": "YulIf",
                  "src": "22577:96:84"
                },
                {
                  "nativeSrc": "22682:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22682:47:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "22700:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22700:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "22710:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "22710:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22696:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22696:3:84"
                    },
                    "nativeSrc": "22696:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22696:33:84"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "22686:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22686:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22738:30:84",
                  "nodeType": "YulAssignment",
                  "src": "22738:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22761:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22761:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22748:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22748:12:84"
                    },
                    "nativeSrc": "22748:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22748:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "22738:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22738:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22811:16:84",
                    "nodeType": "YulBlock",
                    "src": "22811:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22820:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22820:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22823:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22823:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22813:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22813:6:84"
                          },
                          "nativeSrc": "22813:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22813:12:84"
                        },
                        "nativeSrc": "22813:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22813:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "22783:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22783:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22791:18:84",
                        "nodeType": "YulLiteral",
                        "src": "22791:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22780:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "22780:2:84"
                    },
                    "nativeSrc": "22780:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22780:30:84"
                  },
                  "nativeSrc": "22777:50:84",
                  "nodeType": "YulIf",
                  "src": "22777:50:84"
                },
                {
                  "nativeSrc": "22836:25:84",
                  "nodeType": "YulAssignment",
                  "src": "22836:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22848:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22848:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22856:4:84",
                        "nodeType": "YulLiteral",
                        "src": "22856:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22844:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22844:3:84"
                    },
                    "nativeSrc": "22844:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22844:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "22836:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22836:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22912:16:84",
                    "nodeType": "YulBlock",
                    "src": "22912:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22921:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22921:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22924:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22924:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22914:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22914:6:84"
                          },
                          "nativeSrc": "22914:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22914:12:84"
                        },
                        "nativeSrc": "22914:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22914:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "22877:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "22877:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "22887:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "22887:12:84"
                            },
                            "nativeSrc": "22887:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22887:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "22903:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22903:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22883:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22883:3:84"
                        },
                        "nativeSrc": "22883:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22883:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "22873:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22873:3:84"
                    },
                    "nativeSrc": "22873:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22873:38:84"
                  },
                  "nativeSrc": "22870:58:84",
                  "nodeType": "YulIf",
                  "src": "22870:58:84"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "22413:521:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "22464:8:84",
                "nodeType": "YulTypedName",
                "src": "22464:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "22474:11:84",
                "nodeType": "YulTypedName",
                "src": "22474:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "22490:4:84",
                "nodeType": "YulTypedName",
                "src": "22490:4:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "22496:6:84",
                "nodeType": "YulTypedName",
                "src": "22496:6:84",
                "type": ""
              }
            ],
            "src": "22413:521:84"
          },
          {
            "body": {
              "nativeSrc": "23179:233:84",
              "nodeType": "YulBlock",
              "src": "23179:233:84",
              "statements": [
                {
                  "nativeSrc": "23189:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23189:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23209:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23209:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23203:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23203:5:84"
                    },
                    "nativeSrc": "23203:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23203:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23193:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23193:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23264:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23264:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23272:4:84",
                            "nodeType": "YulLiteral",
                            "src": "23272:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23260:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23260:3:84"
                        },
                        "nativeSrc": "23260:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23260:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23279:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23279:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23284:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23284:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "23225:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "23225:34:84"
                    },
                    "nativeSrc": "23225:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23225:66:84"
                  },
                  "nativeSrc": "23225:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23225:66:84"
                },
                {
                  "nativeSrc": "23300:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23300:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23317:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23317:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23322:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23322:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23313:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23313:3:84"
                    },
                    "nativeSrc": "23313:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23313:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "23304:5:84",
                      "nodeType": "YulTypedName",
                      "src": "23304:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23345:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23345:5:84"
                      },
                      {
                        "hexValue": "3a20696e76616c6964207265706f72742064617461",
                        "kind": "string",
                        "nativeSrc": "23352:23:84",
                        "nodeType": "YulLiteral",
                        "src": "23352:23:84",
                        "type": "",
                        "value": ": invalid report data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23338:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23338:6:84"
                    },
                    "nativeSrc": "23338:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23338:38:84"
                  },
                  "nativeSrc": "23338:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23338:38:84"
                },
                {
                  "nativeSrc": "23385:21:84",
                  "nodeType": "YulAssignment",
                  "src": "23385:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23396:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23396:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23403:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23403:2:84",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23392:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23392:3:84"
                    },
                    "nativeSrc": "23392:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23392:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23385:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23385: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": "22939:473:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23155:3:84",
                "nodeType": "YulTypedName",
                "src": "23155:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23160:6:84",
                "nodeType": "YulTypedName",
                "src": "23160:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23171:3:84",
                "nodeType": "YulTypedName",
                "src": "23171:3:84",
                "type": ""
              }
            ],
            "src": "22939:473:84"
          },
          {
            "body": {
              "nativeSrc": "23472:325:84",
              "nodeType": "YulBlock",
              "src": "23472:325:84",
              "statements": [
                {
                  "nativeSrc": "23482:22:84",
                  "nodeType": "YulAssignment",
                  "src": "23482:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23496:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23496:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23499:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23499:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23492:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23492:3:84"
                    },
                    "nativeSrc": "23492:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23492:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23482:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23482:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23513:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23513:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "23543:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23543:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23549:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23549:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23539:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23539:3:84"
                    },
                    "nativeSrc": "23539:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23539:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23517:18:84",
                      "nodeType": "YulTypedName",
                      "src": "23517:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23590:31:84",
                    "nodeType": "YulBlock",
                    "src": "23590:31:84",
                    "statements": [
                      {
                        "nativeSrc": "23592:27:84",
                        "nodeType": "YulAssignment",
                        "src": "23592:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "23606:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "23606:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23614:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23614:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "23602:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23602:3:84"
                          },
                          "nativeSrc": "23602:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23602:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "23592:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23592:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23570:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23570:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23563:6:84"
                    },
                    "nativeSrc": "23563:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23563:26:84"
                  },
                  "nativeSrc": "23560:61:84",
                  "nodeType": "YulIf",
                  "src": "23560:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "23680:111:84",
                    "nodeType": "YulBlock",
                    "src": "23680:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23701:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23701:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "23708:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23708:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "23713:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23713:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "23704:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "23704:3:84"
                              },
                              "nativeSrc": "23704:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "23704:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23694:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23694:6:84"
                          },
                          "nativeSrc": "23694:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23694:31:84"
                        },
                        "nativeSrc": "23694:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23694:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23745:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23745:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23748:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23748:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23738:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23738:6:84"
                          },
                          "nativeSrc": "23738:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23738:15:84"
                        },
                        "nativeSrc": "23738:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23738:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23773:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23773:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23776:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23776:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23766:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23766:6:84"
                          },
                          "nativeSrc": "23766:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23766:15:84"
                        },
                        "nativeSrc": "23766:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23766:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23636:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23636:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "23659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23659:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23667:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23667:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "23656:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "23656:2:84"
                        },
                        "nativeSrc": "23656:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23656:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "23633:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23633:2:84"
                    },
                    "nativeSrc": "23633:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23633:38:84"
                  },
                  "nativeSrc": "23630:161:84",
                  "nodeType": "YulIf",
                  "src": "23630:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23417:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23452:4:84",
                "nodeType": "YulTypedName",
                "src": "23452:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23461:6:84",
                "nodeType": "YulTypedName",
                "src": "23461:6:84",
                "type": ""
              }
            ],
            "src": "23417:380:84"
          },
          {
            "body": {
              "nativeSrc": "23953:507:84",
              "nodeType": "YulBlock",
              "src": "23953:507:84",
              "statements": [
                {
                  "nativeSrc": "23963:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23963:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "23973:2:84",
                    "nodeType": "YulLiteral",
                    "src": "23973:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23967:2:84",
                      "nodeType": "YulTypedName",
                      "src": "23967:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23984:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23984:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24002:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24002:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24013:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24013:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23998:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23998:3:84"
                    },
                    "nativeSrc": "23998:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23998:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "23988:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23988:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24032:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24032:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24043:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24043:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24025:6:84"
                    },
                    "nativeSrc": "24025:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24025:21:84"
                  },
                  "nativeSrc": "24025:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24025:21:84"
                },
                {
                  "nativeSrc": "24055:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24055:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "24066:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "24066:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "24059:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24059:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24081:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24081:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24101:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24101:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24095:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "24095:5:84"
                    },
                    "nativeSrc": "24095:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24095:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24085:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24085:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "24124:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24124:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24132:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24132:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24117:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24117:6:84"
                    },
                    "nativeSrc": "24117:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24117:22:84"
                  },
                  "nativeSrc": "24117:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24117:22:84"
                },
                {
                  "nativeSrc": "24148:25:84",
                  "nodeType": "YulAssignment",
                  "src": "24148:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24159:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24159:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24170:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24170:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24155:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24155:3:84"
                    },
                    "nativeSrc": "24155:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24155:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "24148:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24148:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24182:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24182:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24200:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24200:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24208:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24208:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24196:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24196:3:84"
                    },
                    "nativeSrc": "24196:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24196:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "24186:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24186:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24220:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24220:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24229:1:84",
                    "nodeType": "YulLiteral",
                    "src": "24229:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "24224:1:84",
                      "nodeType": "YulTypedName",
                      "src": "24224:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24288:146:84",
                    "nodeType": "YulBlock",
                    "src": "24288:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24309:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24309:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "24324:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "24324:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "24318:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24318:5:84"
                                  },
                                  "nativeSrc": "24318:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24318:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24341:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24341:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24346:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24346:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "24337:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "24337:3:84"
                                      },
                                      "nativeSrc": "24337:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "24337:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "24350:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "24350:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "24333:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24333:3:84"
                                  },
                                  "nativeSrc": "24333:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24333:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "24314:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24314:3:84"
                              },
                              "nativeSrc": "24314:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24314:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24302:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24302:6:84"
                          },
                          "nativeSrc": "24302:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24302:52:84"
                        },
                        "nativeSrc": "24302:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24302:52:84"
                      },
                      {
                        "nativeSrc": "24367:19:84",
                        "nodeType": "YulAssignment",
                        "src": "24367:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24378:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24378:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24383:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24383:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24374:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24374:3:84"
                          },
                          "nativeSrc": "24374:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24374:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "24367:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24367:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "24399:25:84",
                        "nodeType": "YulAssignment",
                        "src": "24399:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "24413:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24413:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24421:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24421:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24409:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24409:3:84"
                          },
                          "nativeSrc": "24409:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24409:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "24399:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24399:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "24250:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24250:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "24247:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24247:2:84"
                    },
                    "nativeSrc": "24247:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24247:13:84"
                  },
                  "nativeSrc": "24239:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "24261:18:84",
                    "nodeType": "YulBlock",
                    "src": "24261:18:84",
                    "statements": [
                      {
                        "nativeSrc": "24263:14:84",
                        "nodeType": "YulAssignment",
                        "src": "24263:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "24272:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "24272:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24275:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24275:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24268:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24268:3:84"
                          },
                          "nativeSrc": "24268:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24268:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "24263:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "24263:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "24243:3:84",
                    "nodeType": "YulBlock",
                    "src": "24243:3:84",
                    "statements": []
                  },
                  "src": "24239:195:84"
                },
                {
                  "nativeSrc": "24443:11:84",
                  "nodeType": "YulAssignment",
                  "src": "24443:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "24451:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "24451:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24443:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24443:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "23802:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23922:9:84",
                "nodeType": "YulTypedName",
                "src": "23922:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23933:6:84",
                "nodeType": "YulTypedName",
                "src": "23933:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23944:4:84",
                "nodeType": "YulTypedName",
                "src": "23944:4:84",
                "type": ""
              }
            ],
            "src": "23802:658:84"
          },
          {
            "body": {
              "nativeSrc": "24517:116:84",
              "nodeType": "YulBlock",
              "src": "24517:116:84",
              "statements": [
                {
                  "nativeSrc": "24527:20:84",
                  "nodeType": "YulAssignment",
                  "src": "24527:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "24542:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24542:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "24545:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24545:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "24538:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24538:3:84"
                    },
                    "nativeSrc": "24538:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24538:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "24527:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "24527:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24605:22:84",
                    "nodeType": "YulBlock",
                    "src": "24605:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "24607:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "24607:16:84"
                          },
                          "nativeSrc": "24607:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24607:18:84"
                        },
                        "nativeSrc": "24607:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24607:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "24576:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "24576:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "24569:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24569:6:84"
                            },
                            "nativeSrc": "24569:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24569:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "24583:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "24583:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "24590:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24590:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "24599:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24599:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "24586:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "24586:3:84"
                                },
                                "nativeSrc": "24586:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "24586:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "24580:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24580:2:84"
                            },
                            "nativeSrc": "24580:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24580:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "24566:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24566:2:84"
                        },
                        "nativeSrc": "24566:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24566:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24559:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24559:6:84"
                    },
                    "nativeSrc": "24559:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24559:45:84"
                  },
                  "nativeSrc": "24556:71:84",
                  "nodeType": "YulIf",
                  "src": "24556:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "24465:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "24496:1:84",
                "nodeType": "YulTypedName",
                "src": "24496:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "24499:1:84",
                "nodeType": "YulTypedName",
                "src": "24499:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "24505:7:84",
                "nodeType": "YulTypedName",
                "src": "24505:7:84",
                "type": ""
              }
            ],
            "src": "24465:168: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": "30434:169:84",
              "nodeType": "YulBlock",
              "src": "30434:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30480:16:84",
                    "nodeType": "YulBlock",
                    "src": "30480:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30489:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30489:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30492:1:84",
                              "nodeType": "YulLiteral",
                              "src": "30492:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30482:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30482:6:84"
                          },
                          "nativeSrc": "30482:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30482:12:84"
                        },
                        "nativeSrc": "30482:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30482:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30455:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "30455:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30464:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30464:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30451:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30451:3:84"
                        },
                        "nativeSrc": "30451:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30451:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30476:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30476:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30447:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30447:3:84"
                    },
                    "nativeSrc": "30447:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30447:32:84"
                  },
                  "nativeSrc": "30444:52:84",
                  "nodeType": "YulIf",
                  "src": "30444:52:84"
                },
                {
                  "nativeSrc": "30505:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30505:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30524:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30524:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30518:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30518:5:84"
                    },
                    "nativeSrc": "30518:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30518:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "30509:5:84",
                      "nodeType": "YulTypedName",
                      "src": "30509:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "30567:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30567:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "30543:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "30543:23:84"
                    },
                    "nativeSrc": "30543:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30543:30:84"
                  },
                  "nativeSrc": "30543:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30543:30:84"
                },
                {
                  "nativeSrc": "30582:15:84",
                  "nodeType": "YulAssignment",
                  "src": "30582:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "30592:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "30592:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "30582:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30582:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16_fromMemory",
            "nativeSrc": "30354:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30400:9:84",
                "nodeType": "YulTypedName",
                "src": "30400:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30411:7:84",
                "nodeType": "YulTypedName",
                "src": "30411:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30423:6:84",
                "nodeType": "YulTypedName",
                "src": "30423:6:84",
                "type": ""
              }
            ],
            "src": "30354:249:84"
          },
          {
            "body": {
              "nativeSrc": "30674:200:84",
              "nodeType": "YulBlock",
              "src": "30674:200:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "30691:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30691:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30696:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30696:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30684:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30684:6:84"
                    },
                    "nativeSrc": "30684:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30684:19:84"
                  },
                  "nativeSrc": "30684:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30684:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "30729:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30729:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30734:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30734:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30725:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30725:3:84"
                        },
                        "nativeSrc": "30725:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30725:14:84"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "30741:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30741:5:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30748:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30748:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "30712:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "30712:12:84"
                    },
                    "nativeSrc": "30712:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30712:43:84"
                  },
                  "nativeSrc": "30712:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30712:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "30779:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "30779:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "30784:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "30784:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "30775:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30775:3:84"
                            },
                            "nativeSrc": "30775:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30775:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30793:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30793:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30771:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30771:3:84"
                        },
                        "nativeSrc": "30771:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30771:27:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30800:1:84",
                        "nodeType": "YulLiteral",
                        "src": "30800:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30764:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30764:6:84"
                    },
                    "nativeSrc": "30764:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30764:38:84"
                  },
                  "nativeSrc": "30764:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30764:38:84"
                },
                {
                  "nativeSrc": "30811:57:84",
                  "nodeType": "YulAssignment",
                  "src": "30811:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "30826:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "30826:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "30839:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "30839:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30847:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30847:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "30835:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30835:3:84"
                                },
                                "nativeSrc": "30835:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30835:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30856:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30856:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "30852:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30852:3:84"
                                },
                                "nativeSrc": "30852:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30852:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "30831:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30831:3:84"
                            },
                            "nativeSrc": "30831:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30831:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30822:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30822:3:84"
                        },
                        "nativeSrc": "30822:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30822:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30863:4:84",
                        "nodeType": "YulLiteral",
                        "src": "30863:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30818:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30818:3:84"
                    },
                    "nativeSrc": "30818:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30818:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "30811:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30811:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes_calldata",
            "nativeSrc": "30608:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "30643:5:84",
                "nodeType": "YulTypedName",
                "src": "30643:5:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "30650:6:84",
                "nodeType": "YulTypedName",
                "src": "30650:6:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "30658:3:84",
                "nodeType": "YulTypedName",
                "src": "30658:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "30666:3:84",
                "nodeType": "YulTypedName",
                "src": "30666:3:84",
                "type": ""
              }
            ],
            "src": "30608:266:84"
          },
          {
            "body": {
              "nativeSrc": "31008:115:84",
              "nodeType": "YulBlock",
              "src": "31008:115:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31025:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31025:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31036:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31036:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31018:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31018:6:84"
                    },
                    "nativeSrc": "31018:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31018:21:84"
                  },
                  "nativeSrc": "31018:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31018:21:84"
                },
                {
                  "nativeSrc": "31048:69:84",
                  "nodeType": "YulAssignment",
                  "src": "31048:69:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "31082:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31082:6:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "31090:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31090:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31102:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31102:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31113:2:84",
                            "nodeType": "YulLiteral",
                            "src": "31113:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31098:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31098:3:84"
                        },
                        "nativeSrc": "31098:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31098:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "31056:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "31056:25:84"
                    },
                    "nativeSrc": "31056:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31056:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "31048:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31048:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "30879:244:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30969:9:84",
                "nodeType": "YulTypedName",
                "src": "30969:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30980:6:84",
                "nodeType": "YulTypedName",
                "src": "30980:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30988:6:84",
                "nodeType": "YulTypedName",
                "src": "30988:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30999:4:84",
                "nodeType": "YulTypedName",
                "src": "30999:4:84",
                "type": ""
              }
            ],
            "src": "30879:244:84"
          },
          {
            "body": {
              "nativeSrc": "31209:103:84",
              "nodeType": "YulBlock",
              "src": "31209:103:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31255:16:84",
                    "nodeType": "YulBlock",
                    "src": "31255:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31264:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31264:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31267:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31267:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31257:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31257:6:84"
                          },
                          "nativeSrc": "31257:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31257:12:84"
                        },
                        "nativeSrc": "31257:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31257:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31230:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31230:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31239:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31239:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31226:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31226:3:84"
                        },
                        "nativeSrc": "31226:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31226:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31251:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31251:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31222:3:84"
                    },
                    "nativeSrc": "31222:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31222:32:84"
                  },
                  "nativeSrc": "31219:52:84",
                  "nodeType": "YulIf",
                  "src": "31219:52:84"
                },
                {
                  "nativeSrc": "31280:26:84",
                  "nodeType": "YulAssignment",
                  "src": "31280:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31296:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31296:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31290:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31290:5:84"
                    },
                    "nativeSrc": "31290:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31290:16:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31280:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31280:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256_fromMemory",
            "nativeSrc": "31128:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31175:9:84",
                "nodeType": "YulTypedName",
                "src": "31175:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31186:7:84",
                "nodeType": "YulTypedName",
                "src": "31186:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31198:6:84",
                "nodeType": "YulTypedName",
                "src": "31198:6:84",
                "type": ""
              }
            ],
            "src": "31128:184:84"
          },
          {
            "body": {
              "nativeSrc": "31395:199:84",
              "nodeType": "YulBlock",
              "src": "31395:199:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31441:16:84",
                    "nodeType": "YulBlock",
                    "src": "31441:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31450:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31450:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31453:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31453:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31443:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31443:6:84"
                          },
                          "nativeSrc": "31443:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31443:12:84"
                        },
                        "nativeSrc": "31443:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31443:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31416:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31416:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31425:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31425:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31412:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31412:3:84"
                        },
                        "nativeSrc": "31412:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31412:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31437:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31437:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31408:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31408:3:84"
                    },
                    "nativeSrc": "31408:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31408:32:84"
                  },
                  "nativeSrc": "31405:52:84",
                  "nodeType": "YulIf",
                  "src": "31405:52:84"
                },
                {
                  "nativeSrc": "31466:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31466:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31485:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31485:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31479:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31479:5:84"
                    },
                    "nativeSrc": "31479:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31479:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31470:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31470:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31548:16:84",
                    "nodeType": "YulBlock",
                    "src": "31548:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31557:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31557:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31560:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31560:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31550:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31550:6:84"
                          },
                          "nativeSrc": "31550:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31550:12:84"
                        },
                        "nativeSrc": "31550:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31550:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "31517:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "31517:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "31538:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31538:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "31531:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31531:6:84"
                                },
                                "nativeSrc": "31531:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31531:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "31524:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "31524:6:84"
                            },
                            "nativeSrc": "31524:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31524:21:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "31514:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "31514:2:84"
                        },
                        "nativeSrc": "31514:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31514:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31507:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31507:6:84"
                    },
                    "nativeSrc": "31507:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31507:40:84"
                  },
                  "nativeSrc": "31504:60:84",
                  "nodeType": "YulIf",
                  "src": "31504:60:84"
                },
                {
                  "nativeSrc": "31573:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31573:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31583:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31583:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31573:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31573:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "31317:277:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31361:9:84",
                "nodeType": "YulTypedName",
                "src": "31361:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31372:7:84",
                "nodeType": "YulTypedName",
                "src": "31372:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31384:6:84",
                "nodeType": "YulTypedName",
                "src": "31384:6:84",
                "type": ""
              }
            ],
            "src": "31317:277:84"
          },
          {
            "body": {
              "nativeSrc": "31654:65:84",
              "nodeType": "YulBlock",
              "src": "31654:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31671:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31671:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "31674:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31674:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31664:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31664:6:84"
                    },
                    "nativeSrc": "31664:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31664:14:84"
                  },
                  "nativeSrc": "31664:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31664:14:84"
                },
                {
                  "nativeSrc": "31687:26:84",
                  "nodeType": "YulAssignment",
                  "src": "31687:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31705:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31705:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31708:4:84",
                        "nodeType": "YulLiteral",
                        "src": "31708:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "31695:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "31695:9:84"
                    },
                    "nativeSrc": "31695:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31695:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "31687:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31687:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "31599:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "31637:3:84",
                "nodeType": "YulTypedName",
                "src": "31637:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "31645:4:84",
                "nodeType": "YulTypedName",
                "src": "31645:4:84",
                "type": ""
              }
            ],
            "src": "31599:120:84"
          },
          {
            "body": {
              "nativeSrc": "31804:462:84",
              "nodeType": "YulBlock",
              "src": "31804:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31837:423:84",
                    "nodeType": "YulBlock",
                    "src": "31837:423:84",
                    "statements": [
                      {
                        "nativeSrc": "31851:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31851:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "31861:1:84",
                          "nodeType": "YulLiteral",
                          "src": "31861:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "31855:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31855:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31882:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31882:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "31885:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31885:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31875:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31875:6:84"
                          },
                          "nativeSrc": "31875:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31875:16:84"
                        },
                        "nativeSrc": "31875:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31875:16:84"
                      },
                      {
                        "nativeSrc": "31904:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31904:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31926:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31926:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31929:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31929:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "31916:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31916:9:84"
                          },
                          "nativeSrc": "31916:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31916:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "31908:4:84",
                            "nodeType": "YulTypedName",
                            "src": "31908:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31947:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31947:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31970:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31970:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31980:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31980:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "31987:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31987:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31999:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31999:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31983:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31983:3:84"
                                  },
                                  "nativeSrc": "31983:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31983:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31976:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31976:3:84"
                              },
                              "nativeSrc": "31976:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31976:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31966:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31966:3:84"
                          },
                          "nativeSrc": "31966:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31966:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "31951:11:84",
                            "nodeType": "YulTypedName",
                            "src": "31951:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32041:23:84",
                          "nodeType": "YulBlock",
                          "src": "32041:23:84",
                          "statements": [
                            {
                              "nativeSrc": "32043:19:84",
                              "nodeType": "YulAssignment",
                              "src": "32043:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "32058:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32058:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "32043:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32043:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "32023:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "32023:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32035:4:84",
                              "nodeType": "YulLiteral",
                              "src": "32035:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32020:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32020:2:84"
                          },
                          "nativeSrc": "32020:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32020:20:84"
                        },
                        "nativeSrc": "32017:47:84",
                        "nodeType": "YulIf",
                        "src": "32017:47:84"
                      },
                      {
                        "nativeSrc": "32077:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32077:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "32091:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "32091:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "32101:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "32101:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "32108:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32108:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32113:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32113:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "32104:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32104:3:84"
                                  },
                                  "nativeSrc": "32104:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32104:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "32097:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32097:3:84"
                              },
                              "nativeSrc": "32097:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32097:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "32087:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32087:3:84"
                          },
                          "nativeSrc": "32087:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32087:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "32081:2:84",
                            "nodeType": "YulTypedName",
                            "src": "32081:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "32131:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "32131:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "32144:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "32144:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "32135:5:84",
                            "nodeType": "YulTypedName",
                            "src": "32135:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32229:21:84",
                          "nodeType": "YulBlock",
                          "src": "32229:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32238:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32238:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "32245:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32245:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "32231:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32231:6:84"
                                },
                                "nativeSrc": "32231:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32231:17:84"
                              },
                              "nativeSrc": "32231:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "32231:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "32179:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32179:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "32186:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "32186:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32176:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32176:2:84"
                          },
                          "nativeSrc": "32176:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32176:13:84"
                        },
                        "nativeSrc": "32168:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "32190:26:84",
                          "nodeType": "YulBlock",
                          "src": "32190:26:84",
                          "statements": [
                            {
                              "nativeSrc": "32192:22:84",
                              "nodeType": "YulAssignment",
                              "src": "32192:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32205:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32205:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32212:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32212:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "32201:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32201:3:84"
                                },
                                "nativeSrc": "32201:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32201:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "32192:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32192:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "32172:3:84",
                          "nodeType": "YulBlock",
                          "src": "32172:3:84",
                          "statements": []
                        },
                        "src": "32168:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31820:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31820:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31825:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31825:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31817:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31817:2:84"
                    },
                    "nativeSrc": "31817:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31817:11:84"
                  },
                  "nativeSrc": "31814:446:84",
                  "nodeType": "YulIf",
                  "src": "31814:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "31724:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "31776:5:84",
                "nodeType": "YulTypedName",
                "src": "31776:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31783:3:84",
                "nodeType": "YulTypedName",
                "src": "31783:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "31788:10:84",
                "nodeType": "YulTypedName",
                "src": "31788:10:84",
                "type": ""
              }
            ],
            "src": "31724:542:84"
          },
          {
            "body": {
              "nativeSrc": "32356:81:84",
              "nodeType": "YulBlock",
              "src": "32356:81:84",
              "statements": [
                {
                  "nativeSrc": "32366:65:84",
                  "nodeType": "YulAssignment",
                  "src": "32366:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "32381:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "32381:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32399:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32399:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "32402:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32402:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "32395:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32395:3:84"
                                    },
                                    "nativeSrc": "32395:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32395:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32412:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32412:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "32408:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32408:3:84"
                                    },
                                    "nativeSrc": "32408:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32408:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "32391:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32391:3:84"
                                },
                                "nativeSrc": "32391:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32391:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "32387:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32387:3:84"
                            },
                            "nativeSrc": "32387:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32387:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32377:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32377:3:84"
                        },
                        "nativeSrc": "32377:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32377:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "32423:1:84",
                            "nodeType": "YulLiteral",
                            "src": "32423:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "32426:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32426:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "32419:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32419:3:84"
                        },
                        "nativeSrc": "32419:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32419:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "32374:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32374:2:84"
                    },
                    "nativeSrc": "32374:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32374:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "32366:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32366:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "32271:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "32333:4:84",
                "nodeType": "YulTypedName",
                "src": "32333:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32339:3:84",
                "nodeType": "YulTypedName",
                "src": "32339:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "32347:4:84",
                "nodeType": "YulTypedName",
                "src": "32347:4:84",
                "type": ""
              }
            ],
            "src": "32271:166:84"
          },
          {
            "body": {
              "nativeSrc": "32543:1101:84",
              "nodeType": "YulBlock",
              "src": "32543:1101:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32584:22:84",
                    "nodeType": "YulBlock",
                    "src": "32584:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "32586:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "32586:16:84"
                          },
                          "nativeSrc": "32586:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32586:18:84"
                        },
                        "nativeSrc": "32586:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32586:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32559:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32559:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32564:18:84",
                        "nodeType": "YulLiteral",
                        "src": "32564:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32556:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32556:2:84"
                    },
                    "nativeSrc": "32556:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32556:27:84"
                  },
                  "nativeSrc": "32553:53:84",
                  "nodeType": "YulIf",
                  "src": "32553:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "32658:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "32658:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "32696:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32696:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "32690:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32690:5:84"
                            },
                            "nativeSrc": "32690:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32690:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "32664:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "32664:25:84"
                        },
                        "nativeSrc": "32664:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32664:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "32704:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32704:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "32615:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "32615:42:84"
                    },
                    "nativeSrc": "32615:93:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32615:93:84"
                  },
                  "nativeSrc": "32615:93:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32615:93:84"
                },
                {
                  "nativeSrc": "32717:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32717:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "32734:1:84",
                    "nodeType": "YulLiteral",
                    "src": "32734:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "32721:9:84",
                      "nodeType": "YulTypedName",
                      "src": "32721:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "32778:608:84",
                        "nodeType": "YulBlock",
                        "src": "32778:608:84",
                        "statements": [
                          {
                            "nativeSrc": "32792:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32792:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "32811:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32811:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32820:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32820:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32816:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32816:3:84"
                                  },
                                  "nativeSrc": "32816:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32816:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "32807:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32807:3:84"
                              },
                              "nativeSrc": "32807:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32807:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "32796:7:84",
                                "nodeType": "YulTypedName",
                                "src": "32796:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32837:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32837:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32880:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32880:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "32851:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "32851:28:84"
                              },
                              "nativeSrc": "32851:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32851:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "32841:6:84",
                                "nodeType": "YulTypedName",
                                "src": "32841:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32898:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32898:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "32907:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "32907:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "32902:1:84",
                                "nodeType": "YulTypedName",
                                "src": "32902:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "32986:172:84",
                              "nodeType": "YulBlock",
                              "src": "32986:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33011:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33011:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "33036:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33036:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "33041:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "33041:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "33032:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33032:3:84"
                                            },
                                            "nativeSrc": "33032:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33032:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "33019:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33019:12:84"
                                        },
                                        "nativeSrc": "33019:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33019:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33004:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33004:6:84"
                                    },
                                    "nativeSrc": "33004:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33004:49:84"
                                  },
                                  "nativeSrc": "33004:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33004:49:84"
                                },
                                {
                                  "nativeSrc": "33070:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33070:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33084:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33084:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "33092:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "33092:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33080:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33080:3:84"
                                    },
                                    "nativeSrc": "33080:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33080:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "33070:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33070:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "33111:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33111:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "33128:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33128:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "33139:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "33139:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "33124:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33124:3:84"
                                    },
                                    "nativeSrc": "33124:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33124:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "33111:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33111:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "32940:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32940:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "32943:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32943:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "32937:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "32937:2:84"
                              },
                              "nativeSrc": "32937:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32937:14:84"
                            },
                            "nativeSrc": "32929:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "32952:21:84",
                              "nodeType": "YulBlock",
                              "src": "32952:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "32954:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32954:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "32963:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32963:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32966:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32966:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32959:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32959:3:84"
                                    },
                                    "nativeSrc": "32959:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32959:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "32954:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32954:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "32933:3:84",
                              "nodeType": "YulBlock",
                              "src": "32933:3:84",
                              "statements": []
                            },
                            "src": "32929:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "33203:127:84",
                              "nodeType": "YulBlock",
                              "src": "33203:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33228:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33228:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "33257:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33257:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "33262:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33262:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "33253:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33253:3:84"
                                                },
                                                "nativeSrc": "33253:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33253:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "33240:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33240:12:84"
                                            },
                                            "nativeSrc": "33240:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33240:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "33291:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "33291:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "33294:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "33294:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "33287:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "33287:3:84"
                                                        },
                                                        "nativeSrc": "33287:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "33287:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33300:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33300:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "33283:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33283:3:84"
                                                    },
                                                    "nativeSrc": "33283:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33283:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33310:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33310:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "33306:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33306:3:84"
                                                    },
                                                    "nativeSrc": "33306:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33306:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "33279:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33279:3:84"
                                                },
                                                "nativeSrc": "33279:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33279:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "33275:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33275:3:84"
                                            },
                                            "nativeSrc": "33275:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33275:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "33236:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33236:3:84"
                                        },
                                        "nativeSrc": "33236:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33236:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33221:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33221:6:84"
                                    },
                                    "nativeSrc": "33221:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33221:95:84"
                                  },
                                  "nativeSrc": "33221:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33221:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "33177:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33177:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "33186:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33186:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33174:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33174:2:84"
                              },
                              "nativeSrc": "33174:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33174:16:84"
                            },
                            "nativeSrc": "33171:159:84",
                            "nodeType": "YulIf",
                            "src": "33171:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33350:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33350:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33364:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33364:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "33367:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33367:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "33360:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33360:3:84"
                                      },
                                      "nativeSrc": "33360:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33360:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "33373:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "33373:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33356:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33356:3:84"
                                  },
                                  "nativeSrc": "33356:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33356:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33343:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33343:6:84"
                              },
                              "nativeSrc": "33343:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33343:33:84"
                            },
                            "nativeSrc": "33343:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33343:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "32771:615:84",
                      "nodeType": "YulCase",
                      "src": "32771:615:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "32776:1:84",
                        "nodeType": "YulLiteral",
                        "src": "32776:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "33403:235:84",
                        "nodeType": "YulBlock",
                        "src": "33403:235:84",
                        "statements": [
                          {
                            "nativeSrc": "33417:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33417:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "33430:1:84",
                              "nodeType": "YulLiteral",
                              "src": "33430:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "33421:5:84",
                                "nodeType": "YulTypedName",
                                "src": "33421:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33463:74:84",
                              "nodeType": "YulBlock",
                              "src": "33463:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "33481:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33481:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "33507:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33507:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "33512:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33512:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "33503:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33503:3:84"
                                        },
                                        "nativeSrc": "33503:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33503:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "33490:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33490:12:84"
                                    },
                                    "nativeSrc": "33490:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33490:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33481:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33481:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "33447:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "33447:3:84"
                            },
                            "nativeSrc": "33444:93:84",
                            "nodeType": "YulIf",
                            "src": "33444:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33557:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33557:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33616:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33616:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "33623:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33623:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "33563:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33563:52:84"
                                  },
                                  "nativeSrc": "33563:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33563:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33550:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33550:6:84"
                              },
                              "nativeSrc": "33550:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33550:78:84"
                            },
                            "nativeSrc": "33550:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33550:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "33395:243:84",
                      "nodeType": "YulCase",
                      "src": "33395:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32754:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32754:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32759:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32759:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32751:2:84"
                    },
                    "nativeSrc": "32751:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32751:11:84"
                  },
                  "nativeSrc": "32744:894:84",
                  "nodeType": "YulSwitch",
                  "src": "32744:894:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "32442:1202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "32523:4:84",
                "nodeType": "YulTypedName",
                "src": "32523:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "32529:3:84",
                "nodeType": "YulTypedName",
                "src": "32529:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32534:3:84",
                "nodeType": "YulTypedName",
                "src": "32534:3:84",
                "type": ""
              }
            ],
            "src": "32442:1202:84"
          },
          {
            "body": {
              "nativeSrc": "33819:911:84",
              "nodeType": "YulBlock",
              "src": "33819:911:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "33860:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33860:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "33868:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33868:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "33829:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "33829:30:84"
                    },
                    "nativeSrc": "33829:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33829:49:84"
                  },
                  "nativeSrc": "33829:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33829:49:84"
                },
                {
                  "nativeSrc": "33887:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33887:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33897:2:84",
                    "nodeType": "YulLiteral",
                    "src": "33897:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "33891:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33891:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33919:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33919:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33930:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33930:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33915:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33915:3:84"
                        },
                        "nativeSrc": "33915:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33915:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33935:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33935:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33908:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33908:6:84"
                    },
                    "nativeSrc": "33908:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33908:30:84"
                  },
                  "nativeSrc": "33908:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33908:30:84"
                },
                {
                  "nativeSrc": "33947:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33947:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33958:1:84",
                    "nodeType": "YulLiteral",
                    "src": "33958:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "33951:3:84",
                      "nodeType": "YulTypedName",
                      "src": "33951:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33968:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33968:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "33991:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33991:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "33985:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "33985:5:84"
                    },
                    "nativeSrc": "33985:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33985:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "33972:9:84",
                      "nodeType": "YulTypedName",
                      "src": "33972:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34007:50:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34007:50:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "34047:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34047:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "34021:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "34021:25:84"
                    },
                    "nativeSrc": "34021:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34021:36:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "34011:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34011:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34077:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34077:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34088:2:84",
                            "nodeType": "YulLiteral",
                            "src": "34088:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34073:3:84"
                        },
                        "nativeSrc": "34073:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34073:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "34093:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34093:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34066:6:84"
                    },
                    "nativeSrc": "34066:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34066:34:84"
                  },
                  "nativeSrc": "34066:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34066:34:84"
                },
                {
                  "nativeSrc": "34109:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34109:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34119:2:84",
                    "nodeType": "YulLiteral",
                    "src": "34119:2:84",
                    "type": "",
                    "value": "96"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "34113:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34113:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34130:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34130:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34140:1:84",
                    "nodeType": "YulLiteral",
                    "src": "34140:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "34134:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34134:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "34190:151:84",
                        "nodeType": "YulBlock",
                        "src": "34190:151:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34215:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34215:9:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "34226:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "34226:2:84",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34211:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34211:3:84"
                                  },
                                  "nativeSrc": "34211:18:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34211:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "34235:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34235:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34250:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34250:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "34246:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34246:3:84"
                                      },
                                      "nativeSrc": "34246:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34246:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "34231:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34231:3:84"
                                  },
                                  "nativeSrc": "34231:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34231:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34204:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34204:6:84"
                              },
                              "nativeSrc": "34204:52:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34204:52:84"
                            },
                            "nativeSrc": "34204:52:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34204:52:84"
                          },
                          {
                            "nativeSrc": "34269:62:84",
                            "nodeType": "YulAssignment",
                            "src": "34269:62:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34284:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34284:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34299:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34299:1:84",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "34316:6:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "34316:6:84"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "34309:6:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34309:6:84"
                                              },
                                              "nativeSrc": "34309:14:84",
                                              "nodeType": "YulFunctionCall",
                                              "src": "34309:14:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "34302:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34302:6:84"
                                          },
                                          "nativeSrc": "34302:22:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "34302:22:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "34295:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34295:3:84"
                                      },
                                      "nativeSrc": "34295:30:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34295:30:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34280:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34280:3:84"
                                  },
                                  "nativeSrc": "34280:46:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34280:46:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34328:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34328:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34276:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34276:3:84"
                              },
                              "nativeSrc": "34276:55:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34276:55:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34269:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34269:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34183:158:84",
                      "nodeType": "YulCase",
                      "src": "34183:158:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34188:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34188:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "34357:347:84",
                        "nodeType": "YulBlock",
                        "src": "34357:347:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34378:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34378:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value1",
                                  "nativeSrc": "34381:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34381:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34371:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34371:6:84"
                              },
                              "nativeSrc": "34371:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34371:17:84"
                            },
                            "nativeSrc": "34371:17:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34371:17:84"
                          },
                          {
                            "nativeSrc": "34401:31:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34401:31:84",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34426:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34426:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34429:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34429:2:84",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "34416:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "34416:9:84"
                              },
                              "nativeSrc": "34416:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34416:16:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "34405:7:84",
                                "nodeType": "YulTypedName",
                                "src": "34405:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "34445:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34445:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "34454:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34454:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "34449:1:84",
                                "nodeType": "YulTypedName",
                                "src": "34449:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "34522:126:84",
                              "nodeType": "YulBlock",
                              "src": "34522:126:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "34555:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34555:9:84"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "34566:1:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34566:1:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "34551:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "34551:3:84"
                                            },
                                            "nativeSrc": "34551:17:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "34551:17:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "34570:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34570:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "34547:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34547:3:84"
                                        },
                                        "nativeSrc": "34547:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34547:26:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "34581:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34581:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "34575:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34575:5:84"
                                        },
                                        "nativeSrc": "34575:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34575:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "34540:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34540:6:84"
                                    },
                                    "nativeSrc": "34540:50:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34540:50:84"
                                  },
                                  "nativeSrc": "34540:50:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "34540:50:84"
                                },
                                {
                                  "nativeSrc": "34607:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34607:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "34622:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34622:7:84"
                                      },
                                      {
                                        "name": "_3",
                                        "nativeSrc": "34631:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34631:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34618:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34618:3:84"
                                    },
                                    "nativeSrc": "34618:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34618:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "34607:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34607:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "34479:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34479:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "34482:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34482:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "34476:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "34476:2:84"
                              },
                              "nativeSrc": "34476:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34476:13:84"
                            },
                            "nativeSrc": "34468:180:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "34490:19:84",
                              "nodeType": "YulBlock",
                              "src": "34490:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "34492:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34492:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "34501:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34501:1:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "34504:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34504:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34497:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34497:3:84"
                                    },
                                    "nativeSrc": "34497:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34497:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "34492:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34492:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "34472:3:84",
                              "nodeType": "YulBlock",
                              "src": "34472:3:84",
                              "statements": []
                            },
                            "src": "34468:180:84"
                          },
                          {
                            "nativeSrc": "34661:33:84",
                            "nodeType": "YulAssignment",
                            "src": "34661:33:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34676:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34676:9:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "34687:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34687:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34672:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34672:3:84"
                                  },
                                  "nativeSrc": "34672:17:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34672:17:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34691:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34691:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34668:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34668:3:84"
                              },
                              "nativeSrc": "34668:26:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34668:26:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34661:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34661:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34350:354:84",
                      "nodeType": "YulCase",
                      "src": "34350:354:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34355:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34355:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "34161:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34161:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34172:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34172:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "34157:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34157:3:84"
                    },
                    "nativeSrc": "34157:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34157:17:84"
                  },
                  "nativeSrc": "34150:554:84",
                  "nodeType": "YulSwitch",
                  "src": "34150:554:84"
                },
                {
                  "nativeSrc": "34713:11:84",
                  "nodeType": "YulAssignment",
                  "src": "34713:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "34721:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "34721:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34713:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34713:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "33649:1081:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33780:9:84",
                "nodeType": "YulTypedName",
                "src": "33780:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33791:6:84",
                "nodeType": "YulTypedName",
                "src": "33791:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33799:6:84",
                "nodeType": "YulTypedName",
                "src": "33799:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33810:4:84",
                "nodeType": "YulTypedName",
                "src": "33810:4:84",
                "type": ""
              }
            ],
            "src": "33649:1081:84"
          },
          {
            "body": {
              "nativeSrc": "34846:791:84",
              "nodeType": "YulBlock",
              "src": "34846:791:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34892:16:84",
                    "nodeType": "YulBlock",
                    "src": "34892:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34901:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34901:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34904:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34904:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34894:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34894:6:84"
                          },
                          "nativeSrc": "34894:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34894:12:84"
                        },
                        "nativeSrc": "34894:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34894:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34867:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34867:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34876:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34876:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34863:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34863:3:84"
                        },
                        "nativeSrc": "34863:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34863:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34888:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34888:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34859:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34859:3:84"
                    },
                    "nativeSrc": "34859:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34859:32:84"
                  },
                  "nativeSrc": "34856:52:84",
                  "nodeType": "YulIf",
                  "src": "34856:52:84"
                },
                {
                  "nativeSrc": "34917:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34917:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34937:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34937:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34931:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34931:5:84"
                    },
                    "nativeSrc": "34931:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34931:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "34921:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34921:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34956:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34956:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34966:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34966:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34960:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34960:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35011:16:84",
                    "nodeType": "YulBlock",
                    "src": "35011:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35020:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35020:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35023:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35023:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35013:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35013:6:84"
                          },
                          "nativeSrc": "35013:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35013:12:84"
                        },
                        "nativeSrc": "35013:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35013:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34999:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34999:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35007:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35007:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34996:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34996:2:84"
                    },
                    "nativeSrc": "34996:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34996:14:84"
                  },
                  "nativeSrc": "34993:34:84",
                  "nodeType": "YulIf",
                  "src": "34993:34:84"
                },
                {
                  "nativeSrc": "35036:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35036:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35050:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "35050:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "35061:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35061:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35046:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35046:3:84"
                    },
                    "nativeSrc": "35046:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35046:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35040:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35040:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35108:16:84",
                    "nodeType": "YulBlock",
                    "src": "35108:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35117:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35117:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35120:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35120:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35110:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35110:6:84"
                          },
                          "nativeSrc": "35110:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35110:12:84"
                        },
                        "nativeSrc": "35110:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35110:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35088:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35088:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "35097:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35097:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35084:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35084:3:84"
                        },
                        "nativeSrc": "35084:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35084:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35102:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35102:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35080:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35080:3:84"
                    },
                    "nativeSrc": "35080:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35080:27:84"
                  },
                  "nativeSrc": "35077:47:84",
                  "nodeType": "YulIf",
                  "src": "35077:47:84"
                },
                {
                  "nativeSrc": "35133:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35133:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35153:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35153:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35147:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35147:5:84"
                    },
                    "nativeSrc": "35147:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35147:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "35137:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35137:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35167:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35167:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35189:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35189:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35197:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35197:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35185:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35185:3:84"
                    },
                    "nativeSrc": "35185:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35185:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "35171:10:84",
                      "nodeType": "YulTypedName",
                      "src": "35171:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35261:22:84",
                    "nodeType": "YulBlock",
                    "src": "35261:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "35263:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35263:16:84"
                          },
                          "nativeSrc": "35263:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35263:18:84"
                        },
                        "nativeSrc": "35263:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35263:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35220:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35220:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35232:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35232:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35217:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35217:2:84"
                        },
                        "nativeSrc": "35217:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35217:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35240:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35240:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "35252:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35252:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35237:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35237:2:84"
                        },
                        "nativeSrc": "35237:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35237:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "35214:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35214:2:84"
                    },
                    "nativeSrc": "35214:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35214:46:84"
                  },
                  "nativeSrc": "35211:72:84",
                  "nodeType": "YulIf",
                  "src": "35211:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35299:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35299:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "35305:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "35305:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35292:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35292:6:84"
                    },
                    "nativeSrc": "35292:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35292:24:84"
                  },
                  "nativeSrc": "35292:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35292:24:84"
                },
                {
                  "nativeSrc": "35325:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35325:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "35344:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35344:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35338:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35338:5:84"
                    },
                    "nativeSrc": "35338:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35338:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35329:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35329:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35382:16:84",
                    "nodeType": "YulBlock",
                    "src": "35382:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35391:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35391:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35394:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35394:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35384:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35384:6:84"
                          },
                          "nativeSrc": "35384:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35384:12:84"
                        },
                        "nativeSrc": "35384:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35384:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35369:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "35369:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35376:3:84",
                            "nodeType": "YulLiteral",
                            "src": "35376:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35366:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35366:2:84"
                        },
                        "nativeSrc": "35366:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35366:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35359:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35359:6:84"
                    },
                    "nativeSrc": "35359:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35359:22:84"
                  },
                  "nativeSrc": "35356:42:84",
                  "nodeType": "YulIf",
                  "src": "35356:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35414:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35414:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "35422:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35422:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35407:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35407:6:84"
                    },
                    "nativeSrc": "35407:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35407:21:84"
                  },
                  "nativeSrc": "35407:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35407:21:84"
                },
                {
                  "nativeSrc": "35437:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35437:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "35463:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35463:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35467:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35467:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35459:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35459:3:84"
                        },
                        "nativeSrc": "35459:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35459:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35453:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35453:5:84"
                    },
                    "nativeSrc": "35453:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35453:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "35441:8:84",
                      "nodeType": "YulTypedName",
                      "src": "35441:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35500:16:84",
                    "nodeType": "YulBlock",
                    "src": "35500:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35509:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35509:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35512:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35512:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35502:6:84"
                          },
                          "nativeSrc": "35502:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35502:12:84"
                        },
                        "nativeSrc": "35502:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35502:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "35486:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "35486:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35496:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35496:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35483:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35483:2:84"
                    },
                    "nativeSrc": "35483:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35483:16:84"
                  },
                  "nativeSrc": "35480:36:84",
                  "nodeType": "YulIf",
                  "src": "35480:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35536:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35536:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35544:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35544:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35532:3:84"
                        },
                        "nativeSrc": "35532:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35532:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "35582:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "35582:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "35586:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "35586:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35578:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35578:3:84"
                            },
                            "nativeSrc": "35578:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35578:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35597:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35597:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "35549:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "35549:28:84"
                        },
                        "nativeSrc": "35549:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35549:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35525:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35525:6:84"
                    },
                    "nativeSrc": "35525:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35525:81:84"
                  },
                  "nativeSrc": "35525:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35525:81:84"
                },
                {
                  "nativeSrc": "35615:16:84",
                  "nodeType": "YulAssignment",
                  "src": "35615:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "35625:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "35625:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35615:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35615:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "34735:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34812:9:84",
                "nodeType": "YulTypedName",
                "src": "34812:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34823:7:84",
                "nodeType": "YulTypedName",
                "src": "34823:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34835:6:84",
                "nodeType": "YulTypedName",
                "src": "34835:6:84",
                "type": ""
              }
            ],
            "src": "34735:902:84"
          },
          {
            "body": {
              "nativeSrc": "35685:136:84",
              "nodeType": "YulBlock",
              "src": "35685:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35730:85:84",
                    "nodeType": "YulBlock",
                    "src": "35730:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35759:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35759:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35762:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35765:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "35744:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "35744:14:84"
                          },
                          "nativeSrc": "35744:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35744:23:84"
                        },
                        "nativeSrc": "35744:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35744:23:84"
                      },
                      {
                        "nativeSrc": "35780:25:84",
                        "nodeType": "YulAssignment",
                        "src": "35780:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35791:3:84",
                              "nodeType": "YulLiteral",
                              "src": "35791:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "35802:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "35802:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "35796:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "35796:5:84"
                              },
                              "nativeSrc": "35796:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "35796:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "35787:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35787:3:84"
                          },
                          "nativeSrc": "35787:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35787:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "35780:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35780:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35701:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35701:14:84"
                        },
                        "nativeSrc": "35701:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35701:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35719:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35719:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35698:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35698:2:84"
                    },
                    "nativeSrc": "35698:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35698:23:84"
                  },
                  "nativeSrc": "35695:120:84",
                  "nodeType": "YulIf",
                  "src": "35695:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "35642:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "35677:3:84",
                "nodeType": "YulTypedName",
                "src": "35677:3:84",
                "type": ""
              }
            ],
            "src": "35642:179:84"
          },
          {
            "body": {
              "nativeSrc": "35873:624:84",
              "nodeType": "YulBlock",
              "src": "35873:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35913:9:84",
                    "nodeType": "YulBlock",
                    "src": "35913:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35915:5:84",
                        "nodeType": "YulLeave",
                        "src": "35915:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35889:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35889:14:84"
                        },
                        "nativeSrc": "35889:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35889:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35907:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35907:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "35886:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35886:2:84"
                    },
                    "nativeSrc": "35886:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35886:26:84"
                  },
                  "nativeSrc": "35883:39:84",
                  "nodeType": "YulIf",
                  "src": "35883:39:84"
                },
                {
                  "nativeSrc": "35931:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35931:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35949:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35949:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35943:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35943:5:84"
                    },
                    "nativeSrc": "35943:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35943:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "35935:4:84",
                      "nodeType": "YulTypedName",
                      "src": "35935:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35961:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35961:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35975:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35975:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "35971:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35971:3:84"
                    },
                    "nativeSrc": "35971:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35971:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35965:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35965:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36001:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36001:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36007:1:84",
                        "nodeType": "YulLiteral",
                        "src": "36007:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "36014:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "36014:14:84"
                            },
                            "nativeSrc": "36014:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36014:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36032:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36032:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36010:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36010:3:84"
                        },
                        "nativeSrc": "36010:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36010:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "35986:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "35986:14:84"
                    },
                    "nativeSrc": "35986:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35986:50:84"
                  },
                  "nativeSrc": "35986:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35986:50:84"
                },
                {
                  "nativeSrc": "36045:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36045:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36065:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36065:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36059:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36059:5:84"
                    },
                    "nativeSrc": "36059:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36059:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "36049:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36049:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36079:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36079:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "36089:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "36089:14:84"
                    },
                    "nativeSrc": "36089:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36089:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "36083:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36083:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36114:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36114:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36124:18:84",
                    "nodeType": "YulLiteral",
                    "src": "36124:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "36118:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36118:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36200:9:84",
                    "nodeType": "YulBlock",
                    "src": "36200:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36202:5:84",
                        "nodeType": "YulLeave",
                        "src": "36202:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "36160:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36160:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "36168:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36168:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "36157:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36157:2:84"
                        },
                        "nativeSrc": "36157:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36157:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36180:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36180:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36188:4:84",
                                "nodeType": "YulLiteral",
                                "src": "36188:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36176:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36176:3:84"
                            },
                            "nativeSrc": "36176:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36176:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "36195:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36195:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "36173:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36173:2:84"
                        },
                        "nativeSrc": "36173:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36173:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "36154:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36154:2:84"
                    },
                    "nativeSrc": "36154:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36154:45:84"
                  },
                  "nativeSrc": "36151:58:84",
                  "nodeType": "YulIf",
                  "src": "36151:58:84"
                },
                {
                  "nativeSrc": "36218:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36218:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36233:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36233:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "36239:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36239:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36229:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36229:3:84"
                    },
                    "nativeSrc": "36229:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36229:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "36222:3:84",
                      "nodeType": "YulTypedName",
                      "src": "36222:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36255:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36255:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "36275:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36275:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36269:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36269:5:84"
                    },
                    "nativeSrc": "36269:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36269:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36259:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36259:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36306:9:84",
                    "nodeType": "YulBlock",
                    "src": "36306:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36308:5:84",
                        "nodeType": "YulLeave",
                        "src": "36308:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "36294:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36294:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "36302:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36302:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36291:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36291:2:84"
                    },
                    "nativeSrc": "36291:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36291:14:84"
                  },
                  "nativeSrc": "36288:27:84",
                  "nodeType": "YulIf",
                  "src": "36288:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "36397:9:84",
                    "nodeType": "YulBlock",
                    "src": "36397:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36399:5:84",
                        "nodeType": "YulLeave",
                        "src": "36399:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "36338:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "36338:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36343:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36343:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36334:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36334:3:84"
                            },
                            "nativeSrc": "36334:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36334:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36352:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36352:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36330:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36330:3:84"
                        },
                        "nativeSrc": "36330:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36330:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "36367:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "36367:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "36373:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "36373:14:84"
                                },
                                "nativeSrc": "36373:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "36373:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36363:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36363:3:84"
                            },
                            "nativeSrc": "36363:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36363:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36392:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36392:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36359:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36359:3:84"
                        },
                        "nativeSrc": "36359:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36359:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36327:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36327:2:84"
                    },
                    "nativeSrc": "36327:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36327:69:84"
                  },
                  "nativeSrc": "36324:82:84",
                  "nodeType": "YulIf",
                  "src": "36324:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36435:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36435:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36449:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36449:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36457:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36457:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36445:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36445:3:84"
                            },
                            "nativeSrc": "36445:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36445:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36466:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36466:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36441:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36441:3:84"
                        },
                        "nativeSrc": "36441:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36441:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "36415:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "36415:19:84"
                    },
                    "nativeSrc": "36415:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36415:57:84"
                  },
                  "nativeSrc": "36415:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36415:57:84"
                },
                {
                  "nativeSrc": "36481:10:84",
                  "nodeType": "YulAssignment",
                  "src": "36481:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "36488:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "36488:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "36481:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36481:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "35826:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "35865:3:84",
                "nodeType": "YulTypedName",
                "src": "35865:3:84",
                "type": ""
              }
            ],
            "src": "35826:671:84"
          },
          {
            "body": {
              "nativeSrc": "36742:209:84",
              "nodeType": "YulBlock",
              "src": "36742:209:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "36759:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36759:3:84"
                      },
                      {
                        "hexValue": "5769746e65744572726f72734c69623a20",
                        "kind": "string",
                        "nativeSrc": "36764:19:84",
                        "nodeType": "YulLiteral",
                        "src": "36764:19:84",
                        "type": "",
                        "value": "WitnetErrorsLib: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36752:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36752:6:84"
                    },
                    "nativeSrc": "36752:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36752:32:84"
                  },
                  "nativeSrc": "36752:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36752:32:84"
                },
                {
                  "nativeSrc": "36793:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36793:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36813:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36813:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36807:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36807:5:84"
                    },
                    "nativeSrc": "36807:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36807:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36797:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36797:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36868:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36868:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36876:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36876:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36864:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36864:3:84"
                        },
                        "nativeSrc": "36864:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36864:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36887:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36887:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36892:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36892:2:84",
                            "type": "",
                            "value": "17"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36883:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36883:3:84"
                        },
                        "nativeSrc": "36883:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36883:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "36897:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36897:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "36829:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "36829:34:84"
                    },
                    "nativeSrc": "36829:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36829:75:84"
                  },
                  "nativeSrc": "36829:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36829:75:84"
                },
                {
                  "nativeSrc": "36913:32:84",
                  "nodeType": "YulAssignment",
                  "src": "36913:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36928:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36928:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "36933:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36933:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36924:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36924:3:84"
                        },
                        "nativeSrc": "36924:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36924:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36942:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36942:2:84",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36920:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36920:3:84"
                    },
                    "nativeSrc": "36920:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36920:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "36913:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36913: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": "36502:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "36718:3:84",
                "nodeType": "YulTypedName",
                "src": "36718:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36723:6:84",
                "nodeType": "YulTypedName",
                "src": "36723:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "36734:3:84",
                "nodeType": "YulTypedName",
                "src": "36734:3:84",
                "type": ""
              }
            ],
            "src": "36502:449:84"
          },
          {
            "body": {
              "nativeSrc": "37003:135:84",
              "nodeType": "YulBlock",
              "src": "37003:135:84",
              "statements": [
                {
                  "nativeSrc": "37013:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37013:30:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "37023:20:84",
                    "nodeType": "YulLiteral",
                    "src": "37023:20:84",
                    "type": "",
                    "value": "0xffffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "37017:2:84",
                      "nodeType": "YulTypedName",
                      "src": "37017:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "37052:34:84",
                  "nodeType": "YulAssignment",
                  "src": "37052:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "37067:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "37067:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "37070:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37070:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37063:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37063:3:84"
                        },
                        "nativeSrc": "37063:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37063:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "37079:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "37079:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "37082:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "37082:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37075:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37075:3:84"
                        },
                        "nativeSrc": "37075:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37075:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37059:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37059:3:84"
                    },
                    "nativeSrc": "37059:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37059:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "37052:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37052:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37110:22:84",
                    "nodeType": "YulBlock",
                    "src": "37110:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37112:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "37112:16:84"
                          },
                          "nativeSrc": "37112:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "37112:18:84"
                        },
                        "nativeSrc": "37112:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "37112:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "37101:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "37101:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "37106:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "37106:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37098:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "37098:2:84"
                    },
                    "nativeSrc": "37098:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37098:11:84"
                  },
                  "nativeSrc": "37095:37:84",
                  "nodeType": "YulIf",
                  "src": "37095:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint72",
            "nativeSrc": "36956:182:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36986:1:84",
                "nodeType": "YulTypedName",
                "src": "36986:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36989:1:84",
                "nodeType": "YulTypedName",
                "src": "36989:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "36995:3:84",
                "nodeType": "YulTypedName",
                "src": "36995:3:84",
                "type": ""
              }
            ],
            "src": "36956:182:84"
          },
          {
            "body": {
              "nativeSrc": "37271:146:84",
              "nodeType": "YulBlock",
              "src": "37271:146:84",
              "statements": [
                {
                  "nativeSrc": "37281:26:84",
                  "nodeType": "YulAssignment",
                  "src": "37281:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37293:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37293:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37304:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37304:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37289:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37289:3:84"
                    },
                    "nativeSrc": "37289:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37289:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37281:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37281:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37323:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37323:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37334:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37334:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37316:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37316:6:84"
                    },
                    "nativeSrc": "37316:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37316:25:84"
                  },
                  "nativeSrc": "37316:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37316:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37361:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37361:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37372:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37372:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37357:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37357:3:84"
                        },
                        "nativeSrc": "37357:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37357:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "37381:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37381:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37389:20:84",
                            "nodeType": "YulLiteral",
                            "src": "37389:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37377:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37377:3:84"
                        },
                        "nativeSrc": "37377:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37377:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37350:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37350:6:84"
                    },
                    "nativeSrc": "37350:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37350:61:84"
                  },
                  "nativeSrc": "37350:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37350:61:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37143:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37232:9:84",
                "nodeType": "YulTypedName",
                "src": "37232:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37243:6:84",
                "nodeType": "YulTypedName",
                "src": "37243:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37251:6:84",
                "nodeType": "YulTypedName",
                "src": "37251:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37262:4:84",
                "nodeType": "YulTypedName",
                "src": "37262:4:84",
                "type": ""
              }
            ],
            "src": "37143:274:84"
          },
          {
            "body": {
              "nativeSrc": "37660:600:84",
              "nodeType": "YulBlock",
              "src": "37660:600:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "37677:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "37677:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37686:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37686:3:84",
                            "type": "",
                            "value": "225"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37691:10:84",
                            "nodeType": "YulLiteral",
                            "src": "37691:10:84",
                            "type": "",
                            "value": "0x03759621"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37682:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37682:3:84"
                        },
                        "nativeSrc": "37682:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37682:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37670:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37670:6:84"
                    },
                    "nativeSrc": "37670:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37670:33:84"
                  },
                  "nativeSrc": "37670:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37670:33:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37723:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37723:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37728:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37728:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37719:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37719:3:84"
                        },
                        "nativeSrc": "37719:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37719:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37737:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37737:3:84",
                            "type": "",
                            "value": "229"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37742:1:84",
                            "nodeType": "YulLiteral",
                            "src": "37742:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37733:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37733:3:84"
                        },
                        "nativeSrc": "37733:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37733:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37712:6:84"
                    },
                    "nativeSrc": "37712:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37712:33:84"
                  },
                  "nativeSrc": "37712:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37712:33:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37765:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37765:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37770:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37770:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37761:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37761:3:84"
                        },
                        "nativeSrc": "37761:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37761:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37779:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37779:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37784:1:84",
                            "nodeType": "YulLiteral",
                            "src": "37784:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37775:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37775:3:84"
                        },
                        "nativeSrc": "37775:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37775:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37754:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37754:6:84"
                    },
                    "nativeSrc": "37754:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37754:33:84"
                  },
                  "nativeSrc": "37754:33:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37754:33:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37807:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37807:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37812:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37812:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37803:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37803:3:84"
                        },
                        "nativeSrc": "37803:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37803:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37825:3:84",
                                "nodeType": "YulLiteral",
                                "src": "37825:3:84",
                                "type": "",
                                "value": "229"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37830:1:84",
                                "nodeType": "YulLiteral",
                                "src": "37830:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "37821:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "37821:3:84"
                            },
                            "nativeSrc": "37821:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "37821:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37834:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37834:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37817:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37817:3:84"
                        },
                        "nativeSrc": "37817:21:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37817:21:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37796:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37796:6:84"
                    },
                    "nativeSrc": "37796:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37796:43:84"
                  },
                  "nativeSrc": "37796:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37796:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37859:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37859:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37864:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37864:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37855:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37855:3:84"
                        },
                        "nativeSrc": "37855:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37855:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37874:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37874:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37879:10:84",
                            "nodeType": "YulLiteral",
                            "src": "37879:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37870:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37870:3:84"
                        },
                        "nativeSrc": "37870:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37870:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37848:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37848:6:84"
                    },
                    "nativeSrc": "37848:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37848:43:84"
                  },
                  "nativeSrc": "37848:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37848:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37911:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37911:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37916:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37916:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37907:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37907:3:84"
                        },
                        "nativeSrc": "37907:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37907:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37926:1:84",
                            "nodeType": "YulLiteral",
                            "src": "37926:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "37922:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37922:3:84"
                        },
                        "nativeSrc": "37922:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37922:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37900:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37900:6:84"
                    },
                    "nativeSrc": "37900:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37900:29:84"
                  },
                  "nativeSrc": "37900:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37900:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "37949:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "37949:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37954:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37954:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37945:3:84"
                        },
                        "nativeSrc": "37945:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37945:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37964:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37964:3:84",
                            "type": "",
                            "value": "212"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37969:14:84",
                            "nodeType": "YulLiteral",
                            "src": "37969:14:84",
                            "type": "",
                            "value": "0x0fffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37960:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37960:3:84"
                        },
                        "nativeSrc": "37960:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37960:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37938:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37938:6:84"
                    },
                    "nativeSrc": "37938:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37938:47:84"
                  },
                  "nativeSrc": "37938:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37938:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "38005:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38005:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38010:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38010:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38001:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38001:3:84"
                        },
                        "nativeSrc": "38001:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38001:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38020:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38020:3:84",
                            "type": "",
                            "value": "223"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38025:1:84",
                            "nodeType": "YulLiteral",
                            "src": "38025:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "38016:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38016:3:84"
                        },
                        "nativeSrc": "38016:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38016:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37994:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37994:6:84"
                    },
                    "nativeSrc": "37994:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37994:34:84"
                  },
                  "nativeSrc": "37994:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37994:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "38048:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38048:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38053:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38053:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38044:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38044:3:84"
                        },
                        "nativeSrc": "38044:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38044:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38063:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38063:3:84",
                            "type": "",
                            "value": "216"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38068:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38068:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "38059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38059:3:84"
                        },
                        "nativeSrc": "38059:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38059:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38037:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38037:6:84"
                    },
                    "nativeSrc": "38037:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38037:36:84"
                  },
                  "nativeSrc": "38037:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38037:36:84"
                },
                {
                  "nativeSrc": "38082:13:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38082:13:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "38092:3:84",
                    "nodeType": "YulLiteral",
                    "src": "38092:3:84",
                    "type": "",
                    "value": "261"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38086:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38086:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38104:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38104:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "38124:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38124:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "38118:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "38118:5:84"
                    },
                    "nativeSrc": "38118:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38118:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "38108:6:84",
                      "nodeType": "YulTypedName",
                      "src": "38108:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "38179:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38179:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38187:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38187:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38175:3:84"
                        },
                        "nativeSrc": "38175:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38175:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "38196:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38196:3:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "38201:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38201:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38192:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38192:3:84"
                        },
                        "nativeSrc": "38192:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38192:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "38206:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38206:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "38140:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "38140:34:84"
                    },
                    "nativeSrc": "38140:73:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38140:73:84"
                  },
                  "nativeSrc": "38140:73:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38140:73:84"
                },
                {
                  "nativeSrc": "38222:32:84",
                  "nodeType": "YulAssignment",
                  "src": "38222:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "38237:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "38237:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "38242:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38242:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38233:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38233:3:84"
                        },
                        "nativeSrc": "38233:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38233:16:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "38251:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "38251:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38229:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38229:3:84"
                    },
                    "nativeSrc": "38229:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38229:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "38222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38222:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_a3d2fbc1dacd26016777974249679186cfba06247b2ee668f7780fc4977b2c2e_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "37422:838:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "37636:3:84",
                "nodeType": "YulTypedName",
                "src": "37636:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37641:6:84",
                "nodeType": "YulTypedName",
                "src": "37641:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "37652:3:84",
                "nodeType": "YulTypedName",
                "src": "37652:3:84",
                "type": ""
              }
            ],
            "src": "37422:838:84"
          },
          {
            "body": {
              "nativeSrc": "38422:162:84",
              "nodeType": "YulBlock",
              "src": "38422:162:84",
              "statements": [
                {
                  "nativeSrc": "38432:26:84",
                  "nodeType": "YulAssignment",
                  "src": "38432:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38444:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38444:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38455:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38455:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38440:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38440:3:84"
                    },
                    "nativeSrc": "38440:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38440:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "38432:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "38432:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38474:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38474:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "38485:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38485:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38467:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38467:6:84"
                    },
                    "nativeSrc": "38467:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38467:25:84"
                  },
                  "nativeSrc": "38467:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38467:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38512:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38512:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38523:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38523:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38508:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38508:3:84"
                        },
                        "nativeSrc": "38508:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38508:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "38528:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38528:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38501:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38501:6:84"
                    },
                    "nativeSrc": "38501:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38501:34:84"
                  },
                  "nativeSrc": "38501:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38501:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38555:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38555:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38566:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38566:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38551:3:84"
                        },
                        "nativeSrc": "38551:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38551:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "38571:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38571:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38544:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38544:6:84"
                    },
                    "nativeSrc": "38544:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38544:34:84"
                  },
                  "nativeSrc": "38544:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38544:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "38265:319:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38375:9:84",
                "nodeType": "YulTypedName",
                "src": "38375:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "38386:6:84",
                "nodeType": "YulTypedName",
                "src": "38386:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "38394:6:84",
                "nodeType": "YulTypedName",
                "src": "38394:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "38402:6:84",
                "nodeType": "YulTypedName",
                "src": "38402:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "38413:4:84",
                "nodeType": "YulTypedName",
                "src": "38413:4:84",
                "type": ""
              }
            ],
            "src": "38265:319:84"
          },
          {
            "body": {
              "nativeSrc": "38850:361:84",
              "nodeType": "YulBlock",
              "src": "38850:361:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38867:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38867:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "38878:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38878:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38860:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38860:6:84"
                    },
                    "nativeSrc": "38860:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38860:25:84"
                  },
                  "nativeSrc": "38860:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38860:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38905:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38905:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38916:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38916:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38901:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38901:3:84"
                        },
                        "nativeSrc": "38901:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38901:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38921:3:84",
                        "nodeType": "YulLiteral",
                        "src": "38921:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38894:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38894:6:84"
                    },
                    "nativeSrc": "38894:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38894:31:84"
                  },
                  "nativeSrc": "38894:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38894:31:84"
                },
                {
                  "nativeSrc": "38934:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38934:76:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "38974:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38974:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "38982:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38982:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38994:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38994:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39005:3:84",
                            "nodeType": "YulLiteral",
                            "src": "39005:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38990:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38990:3:84"
                        },
                        "nativeSrc": "38990:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38990:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes_calldata",
                      "nativeSrc": "38948:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "38948:25:84"
                    },
                    "nativeSrc": "38948:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38948:62:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "38938:6:84",
                      "nodeType": "YulTypedName",
                      "src": "38938:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39030:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39030:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39041:2:84",
                            "nodeType": "YulLiteral",
                            "src": "39041:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39026:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39026:3:84"
                        },
                        "nativeSrc": "39026:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39026:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "39046:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39046:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39019:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39019:6:84"
                    },
                    "nativeSrc": "39019:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39019:34:84"
                  },
                  "nativeSrc": "39019:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39019:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39073:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39073:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39084:2:84",
                            "nodeType": "YulLiteral",
                            "src": "39084:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39069:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39069:3:84"
                        },
                        "nativeSrc": "39069:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39069:18:84"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "39089:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39089:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39062:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39062:6:84"
                    },
                    "nativeSrc": "39062:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39062:34:84"
                  },
                  "nativeSrc": "39062:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39062:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39116:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39116:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39127:3:84",
                            "nodeType": "YulLiteral",
                            "src": "39127:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39112:3:84"
                        },
                        "nativeSrc": "39112:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39112:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "39137:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39137:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "39145:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39145:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "39133:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39133:3:84"
                        },
                        "nativeSrc": "39133:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39133:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39105:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39105:6:84"
                    },
                    "nativeSrc": "39105:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39105:51:84"
                  },
                  "nativeSrc": "39105:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39105:51:84"
                },
                {
                  "nativeSrc": "39165:40:84",
                  "nodeType": "YulAssignment",
                  "src": "39165:40:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "39190:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39190:6:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "39198:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "39198:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "39173:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "39173:16:84"
                    },
                    "nativeSrc": "39173:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39173:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "39165:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "39165: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": "38589:622:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38779:9:84",
                "nodeType": "YulTypedName",
                "src": "38779:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "38790:6:84",
                "nodeType": "YulTypedName",
                "src": "38790:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "38798:6:84",
                "nodeType": "YulTypedName",
                "src": "38798:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "38806:6:84",
                "nodeType": "YulTypedName",
                "src": "38806:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "38814:6:84",
                "nodeType": "YulTypedName",
                "src": "38814:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "38822:6:84",
                "nodeType": "YulTypedName",
                "src": "38822:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "38830:6:84",
                "nodeType": "YulTypedName",
                "src": "38830:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "38841:4:84",
                "nodeType": "YulTypedName",
                "src": "38841:4:84",
                "type": ""
              }
            ],
            "src": "38589:622:84"
          },
          {
            "body": {
              "nativeSrc": "39285:176:84",
              "nodeType": "YulBlock",
              "src": "39285:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39331:16:84",
                    "nodeType": "YulBlock",
                    "src": "39331:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39340:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39340:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39343:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39343:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39333:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39333:6:84"
                          },
                          "nativeSrc": "39333:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39333:12:84"
                        },
                        "nativeSrc": "39333:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39333:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "39306:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "39306:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "39315:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39315:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "39302:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39302:3:84"
                        },
                        "nativeSrc": "39302:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39302:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39327:2:84",
                        "nodeType": "YulLiteral",
                        "src": "39327:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "39298:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39298:3:84"
                    },
                    "nativeSrc": "39298:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39298:32:84"
                  },
                  "nativeSrc": "39295:52:84",
                  "nodeType": "YulIf",
                  "src": "39295:52:84"
                },
                {
                  "nativeSrc": "39356:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39356:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39382:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "39382:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39369:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39369:12:84"
                    },
                    "nativeSrc": "39369:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39369:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "39360:5:84",
                      "nodeType": "YulTypedName",
                      "src": "39360:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39425:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39425:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "39401:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "39401:23:84"
                    },
                    "nativeSrc": "39401:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39401:30:84"
                  },
                  "nativeSrc": "39401:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39401:30:84"
                },
                {
                  "nativeSrc": "39440:15:84",
                  "nodeType": "YulAssignment",
                  "src": "39440:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "39450:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "39450:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39440:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39440:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "39216:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39251:9:84",
                "nodeType": "YulTypedName",
                "src": "39251:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "39262:7:84",
                "nodeType": "YulTypedName",
                "src": "39262:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "39274:6:84",
                "nodeType": "YulTypedName",
                "src": "39274:6:84",
                "type": ""
              }
            ],
            "src": "39216:245:84"
          },
          {
            "body": {
              "nativeSrc": "39534:175:84",
              "nodeType": "YulBlock",
              "src": "39534:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39580:16:84",
                    "nodeType": "YulBlock",
                    "src": "39580:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "39589:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39589:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "39592:1:84",
                              "nodeType": "YulLiteral",
                              "src": "39592:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "39582:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "39582:6:84"
                          },
                          "nativeSrc": "39582:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39582:12:84"
                        },
                        "nativeSrc": "39582:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39582:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "39555:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "39555:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "39564:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "39564:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "39551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39551:3:84"
                        },
                        "nativeSrc": "39551:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39551:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39576:2:84",
                        "nodeType": "YulLiteral",
                        "src": "39576:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "39547:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39547:3:84"
                    },
                    "nativeSrc": "39547:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39547:32:84"
                  },
                  "nativeSrc": "39544:52:84",
                  "nodeType": "YulIf",
                  "src": "39544:52:84"
                },
                {
                  "nativeSrc": "39605:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39605:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39631:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "39631:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39618:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39618:12:84"
                    },
                    "nativeSrc": "39618:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39618:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "39609:5:84",
                      "nodeType": "YulTypedName",
                      "src": "39609:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39673:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39673:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "39650:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "39650:22:84"
                    },
                    "nativeSrc": "39650:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39650:29:84"
                  },
                  "nativeSrc": "39650:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39650:29:84"
                },
                {
                  "nativeSrc": "39688:15:84",
                  "nodeType": "YulAssignment",
                  "src": "39688:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "39698:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "39698:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "39688:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39688:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "39466:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39500:9:84",
                "nodeType": "YulTypedName",
                "src": "39500:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "39511:7:84",
                "nodeType": "YulTypedName",
                "src": "39511:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "39523:6:84",
                "nodeType": "YulTypedName",
                "src": "39523:6:84",
                "type": ""
              }
            ],
            "src": "39466:243:84"
          },
          {
            "body": {
              "nativeSrc": "39761:88:84",
              "nodeType": "YulBlock",
              "src": "39761:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "39792:22:84",
                    "nodeType": "YulBlock",
                    "src": "39792:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39794:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39794:16:84"
                          },
                          "nativeSrc": "39794:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39794:18:84"
                        },
                        "nativeSrc": "39794:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39794:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39777:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39777:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39788:1:84",
                            "nodeType": "YulLiteral",
                            "src": "39788:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "39784:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39784:3:84"
                        },
                        "nativeSrc": "39784:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39784:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "39774:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "39774:2:84"
                    },
                    "nativeSrc": "39774:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39774:17:84"
                  },
                  "nativeSrc": "39771:43:84",
                  "nodeType": "YulIf",
                  "src": "39771:43:84"
                },
                {
                  "nativeSrc": "39823:20:84",
                  "nodeType": "YulAssignment",
                  "src": "39823:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39834:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39834:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39841:1:84",
                        "nodeType": "YulLiteral",
                        "src": "39841:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39830:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39830:3:84"
                    },
                    "nativeSrc": "39830:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39830:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "39823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39823:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "39714:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "39743:5:84",
                "nodeType": "YulTypedName",
                "src": "39743:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "39753:3:84",
                "nodeType": "YulTypedName",
                "src": "39753:3:84",
                "type": ""
              }
            ],
            "src": "39714:135:84"
          },
          {
            "body": {
              "nativeSrc": "39985:411:84",
              "nodeType": "YulBlock",
              "src": "39985:411:84",
              "statements": [
                {
                  "nativeSrc": "39995:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39995:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "40023:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "40023:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "40010:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "40010:12:84"
                    },
                    "nativeSrc": "40010:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40010:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "39999:7:84",
                      "nodeType": "YulTypedName",
                      "src": "39999:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "40061:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "40061:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "40038:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "40038:22:84"
                    },
                    "nativeSrc": "40038:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40038:31:84"
                  },
                  "nativeSrc": "40038:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40038:31:84"
                },
                {
                  "nativeSrc": "40078:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40078:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "40092:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "40092:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40101:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40101:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "40088:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40088:3:84"
                    },
                    "nativeSrc": "40088:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40088:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40082:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40082:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40115:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40115:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "40131:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "40131:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "40125:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40125:5:84"
                    },
                    "nativeSrc": "40125:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40125:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "40119:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40119:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "40152:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "40152:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "40165:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "40165:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40173:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40173:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "40169:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40169:3:84"
                                },
                                "nativeSrc": "40169:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40169:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "40161:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40161:3:84"
                            },
                            "nativeSrc": "40161:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40161:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40180:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40180:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "40158:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "40158:2:84"
                        },
                        "nativeSrc": "40158:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40158:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "40145:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40145:6:84"
                    },
                    "nativeSrc": "40145:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40145:39:84"
                  },
                  "nativeSrc": "40145:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40145:39:84"
                },
                {
                  "nativeSrc": "40193:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40193:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40225:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40225:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40232:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40232:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40221:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40221:3:84"
                        },
                        "nativeSrc": "40221:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40221:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "40208:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "40208:12:84"
                    },
                    "nativeSrc": "40208:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40208:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "40197:7:84",
                      "nodeType": "YulTypedName",
                      "src": "40197:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "40269:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "40269:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "40245:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "40245:23:84"
                    },
                    "nativeSrc": "40245:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40245:32:84"
                  },
                  "nativeSrc": "40245:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40245:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "40293:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "40293:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "40309:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40309:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "40317:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "40317:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "40313:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "40313:3:84"
                                    },
                                    "nativeSrc": "40313:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "40313:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "40305:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40305:3:84"
                                },
                                "nativeSrc": "40305:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40305:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "40341:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "40341:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "40302:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "40302:2:84"
                            },
                            "nativeSrc": "40302:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40302:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40354:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40354:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "40357:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40357:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "40350:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40350:3:84"
                                },
                                "nativeSrc": "40350:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40350:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40367:20:84",
                                "nodeType": "YulLiteral",
                                "src": "40367:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "40346:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40346:3:84"
                            },
                            "nativeSrc": "40346:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40346:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "40299:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "40299:2:84"
                        },
                        "nativeSrc": "40299:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40299:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "40286:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40286:6:84"
                    },
                    "nativeSrc": "40286:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40286:104:84"
                  },
                  "nativeSrc": "40286:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40286:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "39854:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "39968:4:84",
                "nodeType": "YulTypedName",
                "src": "39968:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "39974:5:84",
                "nodeType": "YulTypedName",
                "src": "39974:5:84",
                "type": ""
              }
            ],
            "src": "39854:542:84"
          },
          {
            "body": {
              "nativeSrc": "40449:123:84",
              "nodeType": "YulBlock",
              "src": "40449:123:84",
              "statements": [
                {
                  "nativeSrc": "40459:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40459:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40469:6:84",
                    "nodeType": "YulLiteral",
                    "src": "40469:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40463:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40463:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40484:35:84",
                  "nodeType": "YulAssignment",
                  "src": "40484:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "40500:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "40500:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40503:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40503:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40496:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40496:3:84"
                        },
                        "nativeSrc": "40496:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40496:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "40512:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "40512:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40515:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40515:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40508:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40508:3:84"
                        },
                        "nativeSrc": "40508:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40508:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "40492:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40492:3:84"
                    },
                    "nativeSrc": "40492:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40492:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "40484:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "40484:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40544:22:84",
                    "nodeType": "YulBlock",
                    "src": "40544:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40546:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "40546:16:84"
                          },
                          "nativeSrc": "40546:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40546:18:84"
                        },
                        "nativeSrc": "40546:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40546:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "40534:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "40534:4:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40540:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40540:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "40531:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "40531:2:84"
                    },
                    "nativeSrc": "40531:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40531:12:84"
                  },
                  "nativeSrc": "40528:38:84",
                  "nodeType": "YulIf",
                  "src": "40528:38:84"
                }
              ]
            },
            "name": "checked_sub_t_uint16",
            "nativeSrc": "40401:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40431:1:84",
                "nodeType": "YulTypedName",
                "src": "40431:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40434:1:84",
                "nodeType": "YulTypedName",
                "src": "40434:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "40440:4:84",
                "nodeType": "YulTypedName",
                "src": "40440:4:84",
                "type": ""
              }
            ],
            "src": "40401:171:84"
          },
          {
            "body": {
              "nativeSrc": "40622:142:84",
              "nodeType": "YulBlock",
              "src": "40622:142:84",
              "statements": [
                {
                  "nativeSrc": "40632:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40632:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40642:6:84",
                    "nodeType": "YulLiteral",
                    "src": "40642:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40636:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40636:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40657:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40657:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "40672:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "40672:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40675:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40675:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "40668:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40668:3:84"
                    },
                    "nativeSrc": "40668:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40668:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "40661:3:84",
                      "nodeType": "YulTypedName",
                      "src": "40661:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40702:22:84",
                    "nodeType": "YulBlock",
                    "src": "40702:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "40704:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "40704:16:84"
                          },
                          "nativeSrc": "40704:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40704:18:84"
                        },
                        "nativeSrc": "40704:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40704:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "40697:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "40697:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "40690:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40690:6:84"
                    },
                    "nativeSrc": "40690:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40690:11:84"
                  },
                  "nativeSrc": "40687:37:84",
                  "nodeType": "YulIf",
                  "src": "40687:37:84"
                },
                {
                  "nativeSrc": "40733:25:84",
                  "nodeType": "YulAssignment",
                  "src": "40733:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "40746:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "40746:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40749:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40749:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40742:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40742:3:84"
                        },
                        "nativeSrc": "40742:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40742:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "40754:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "40754:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "40738:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40738:3:84"
                    },
                    "nativeSrc": "40738:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40738:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "40733:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "40733:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint16",
            "nativeSrc": "40577:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40607:1:84",
                "nodeType": "YulTypedName",
                "src": "40607:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40610:1:84",
                "nodeType": "YulTypedName",
                "src": "40610:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "40616:1:84",
                "nodeType": "YulTypedName",
                "src": "40616:1:84",
                "type": ""
              }
            ],
            "src": "40577:187:84"
          },
          {
            "body": {
              "nativeSrc": "40816:121:84",
              "nodeType": "YulBlock",
              "src": "40816:121:84",
              "statements": [
                {
                  "nativeSrc": "40826:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40826:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40836:6:84",
                    "nodeType": "YulLiteral",
                    "src": "40836:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40851:34:84",
                  "nodeType": "YulAssignment",
                  "src": "40851:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "40866:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "40866:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40869:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40869:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40862:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40862:3:84"
                        },
                        "nativeSrc": "40862:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40862:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "40878:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "40878:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40881:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40881:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40874:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40874:3:84"
                        },
                        "nativeSrc": "40874:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40874:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "40858:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40858:3:84"
                    },
                    "nativeSrc": "40858:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40858:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "40851:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40851:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "40909:22:84",
                    "nodeType": "YulBlock",
                    "src": "40909:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "40911:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "40911:16:84"
                          },
                          "nativeSrc": "40911:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "40911:18:84"
                        },
                        "nativeSrc": "40911:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "40911:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "40900:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "40900:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "40905:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "40905:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "40897:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "40897:2:84"
                    },
                    "nativeSrc": "40897:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40897:11:84"
                  },
                  "nativeSrc": "40894:37:84",
                  "nodeType": "YulIf",
                  "src": "40894:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "40769:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40799:1:84",
                "nodeType": "YulTypedName",
                "src": "40799:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40802:1:84",
                "nodeType": "YulTypedName",
                "src": "40802:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "40808:3:84",
                "nodeType": "YulTypedName",
                "src": "40808:3:84",
                "type": ""
              }
            ],
            "src": "40769:168:84"
          },
          {
            "body": {
              "nativeSrc": "40993:206:84",
              "nodeType": "YulBlock",
              "src": "40993:206:84",
              "statements": [
                {
                  "nativeSrc": "41003:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41003:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "41013:18:84",
                    "nodeType": "YulLiteral",
                    "src": "41013:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "41007:2:84",
                      "nodeType": "YulTypedName",
                      "src": "41007:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41040:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41040:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "41067:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "41067:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "41070:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "41070:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41063:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41063:3:84"
                        },
                        "nativeSrc": "41063:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41063:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "41079:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "41079:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "41082:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "41082:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41075:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41075:3:84"
                        },
                        "nativeSrc": "41075:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41075:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "41059:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41059:3:84"
                    },
                    "nativeSrc": "41059:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41059:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "41044:11:84",
                      "nodeType": "YulTypedName",
                      "src": "41044:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41095:31:84",
                  "nodeType": "YulAssignment",
                  "src": "41095:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "41110:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "41110:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "41123:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "41123:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "41106:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41106:3:84"
                    },
                    "nativeSrc": "41106:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41106:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "41095:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "41095:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41171:22:84",
                    "nodeType": "YulBlock",
                    "src": "41171:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "41173:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "41173:16:84"
                          },
                          "nativeSrc": "41173:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41173:18:84"
                        },
                        "nativeSrc": "41173:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41173:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "41148:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "41148:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "41157:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "41157:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "41145:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "41145:2:84"
                        },
                        "nativeSrc": "41145:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41145:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "41138:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41138:6:84"
                    },
                    "nativeSrc": "41138:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41138:32:84"
                  },
                  "nativeSrc": "41135:58:84",
                  "nodeType": "YulIf",
                  "src": "41135:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "40942:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "40972:1:84",
                "nodeType": "YulTypedName",
                "src": "40972:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "40975:1:84",
                "nodeType": "YulTypedName",
                "src": "40975:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "40981:7:84",
                "nodeType": "YulTypedName",
                "src": "40981:7:84",
                "type": ""
              }
            ],
            "src": "40942:257:84"
          },
          {
            "body": {
              "nativeSrc": "41401:417:84",
              "nodeType": "YulBlock",
              "src": "41401:417:84",
              "statements": [
                {
                  "nativeSrc": "41411:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41411:16:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "41424:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "41424:3:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "41415:5:84",
                      "nodeType": "YulTypedName",
                      "src": "41415:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41436:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41436:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "41456:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41456:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41450:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41450:5:84"
                    },
                    "nativeSrc": "41450:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41450:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "41440:6:84",
                      "nodeType": "YulTypedName",
                      "src": "41440:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41472:12:84",
                  "nodeType": "YulAssignment",
                  "src": "41472:12:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "41481:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "41481:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "41472:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41472:5:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "41493:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41493:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "41503:4:84",
                    "nodeType": "YulLiteral",
                    "src": "41503:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "41497:2:84",
                      "nodeType": "YulTypedName",
                      "src": "41497:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41516:31:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41516:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "41534:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41534:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41542:4:84",
                        "nodeType": "YulLiteral",
                        "src": "41542:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41530:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41530:3:84"
                    },
                    "nativeSrc": "41530:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41530:17:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "41520:6:84",
                      "nodeType": "YulTypedName",
                      "src": "41520:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "41556:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41556:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "41565:1:84",
                    "nodeType": "YulLiteral",
                    "src": "41565:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "41560:1:84",
                      "nodeType": "YulTypedName",
                      "src": "41560:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41624:126:84",
                    "nodeType": "YulBlock",
                    "src": "41624:126:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "41645:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "41645:5:84"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "41658:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "41658:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "41652:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "41652:5:84"
                              },
                              "nativeSrc": "41652:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "41652:13:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "41638:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41638:6:84"
                          },
                          "nativeSrc": "41638:28:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41638:28:84"
                        },
                        "nativeSrc": "41638:28:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41638:28:84"
                      },
                      {
                        "nativeSrc": "41679:23:84",
                        "nodeType": "YulAssignment",
                        "src": "41679:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "41692:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "41692:5:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "41699:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "41699:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "41688:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "41688:3:84"
                          },
                          "nativeSrc": "41688:14:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41688:14:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "41679:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "41679:5:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "41715:25:84",
                        "nodeType": "YulAssignment",
                        "src": "41715:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "41729:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "41729:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "41737:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "41737:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "41725:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "41725:3:84"
                          },
                          "nativeSrc": "41725:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41725:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "41715:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41715:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "41586:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41586:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "41589:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41589:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "41583:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41583:2:84"
                    },
                    "nativeSrc": "41583:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41583:13:84"
                  },
                  "nativeSrc": "41575:175:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "41597:18:84",
                    "nodeType": "YulBlock",
                    "src": "41597:18:84",
                    "statements": [
                      {
                        "nativeSrc": "41599:14:84",
                        "nodeType": "YulAssignment",
                        "src": "41599:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "41608:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "41608:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41611:1:84",
                              "nodeType": "YulLiteral",
                              "src": "41611:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "41604:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "41604:3:84"
                          },
                          "nativeSrc": "41604:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41604:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "41599:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "41599:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "41579:3:84",
                    "nodeType": "YulBlock",
                    "src": "41579:3:84",
                    "statements": []
                  },
                  "src": "41575:175:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos_1",
                        "nativeSrc": "41766:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "41766:5:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "41773:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41773:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41759:6:84"
                    },
                    "nativeSrc": "41759:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41759:21:84"
                  },
                  "nativeSrc": "41759:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41759:21:84"
                },
                {
                  "nativeSrc": "41789:23:84",
                  "nodeType": "YulAssignment",
                  "src": "41789:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos_1",
                        "nativeSrc": "41800:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "41800:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41807:4:84",
                        "nodeType": "YulLiteral",
                        "src": "41807:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41796:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41796:3:84"
                    },
                    "nativeSrc": "41796:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41796:16:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "41789:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41789:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "41204:614:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "41369:3:84",
                "nodeType": "YulTypedName",
                "src": "41369:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41374:6:84",
                "nodeType": "YulTypedName",
                "src": "41374:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41382:6:84",
                "nodeType": "YulTypedName",
                "src": "41382:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "41393:3:84",
                "nodeType": "YulTypedName",
                "src": "41393:3:84",
                "type": ""
              }
            ],
            "src": "41204:614:84"
          },
          {
            "body": {
              "nativeSrc": "41878:724:84",
              "nodeType": "YulBlock",
              "src": "41878:724:84",
              "statements": [
                {
                  "nativeSrc": "41888:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41888:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "41914:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "41914:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41908:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41908:5:84"
                    },
                    "nativeSrc": "41908:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41908:12:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "41892:12:84",
                      "nodeType": "YulTypedName",
                      "src": "41892:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "41936:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "41936:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41941:4:84",
                        "nodeType": "YulLiteral",
                        "src": "41941:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41929:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41929:6:84"
                    },
                    "nativeSrc": "41929:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41929:17:84"
                  },
                  "nativeSrc": "41929:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41929:17:84"
                },
                {
                  "nativeSrc": "41955:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41955:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "41983:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "41983:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41977:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "41977:5:84"
                    },
                    "nativeSrc": "41977:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41977:19:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "41959:14:84",
                      "nodeType": "YulTypedName",
                      "src": "41959:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42016:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42016:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42021:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42021:4:84",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42012:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42012:3:84"
                        },
                        "nativeSrc": "42012:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42012:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42028:4:84",
                        "nodeType": "YulLiteral",
                        "src": "42028:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42005:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42005:6:84"
                    },
                    "nativeSrc": "42005:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42005:28:84"
                  },
                  "nativeSrc": "42005:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42005:28:84"
                },
                {
                  "nativeSrc": "42042:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42042:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "42071:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "42071:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42091:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42091:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42096:3:84",
                            "nodeType": "YulLiteral",
                            "src": "42096:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42087:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42087:3:84"
                        },
                        "nativeSrc": "42087:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42087:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "42054:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "42054:16:84"
                    },
                    "nativeSrc": "42054:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42054:47:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "42046:4:84",
                      "nodeType": "YulTypedName",
                      "src": "42046:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42121:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42121:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42126:3:84",
                            "nodeType": "YulLiteral",
                            "src": "42126:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42117:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42117:3:84"
                        },
                        "nativeSrc": "42117:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42117:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "42142:12:84",
                                "nodeType": "YulIdentifier",
                                "src": "42142:12:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "42156:4:84",
                                "nodeType": "YulLiteral",
                                "src": "42156:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "42138:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "42138:3:84"
                            },
                            "nativeSrc": "42138:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42138:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "42132:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "42132:5:84"
                        },
                        "nativeSrc": "42132:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42132:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42110:6:84"
                    },
                    "nativeSrc": "42110:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42110:53:84"
                  },
                  "nativeSrc": "42110:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42110:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42183:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42183:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42188:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42188:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42179:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42179:3:84"
                        },
                        "nativeSrc": "42179:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42179:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "42209:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42209:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "42216:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "42216:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "42205:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42205:3:84"
                                },
                                "nativeSrc": "42205:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "42205:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "42199:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42199:5:84"
                            },
                            "nativeSrc": "42199:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42199:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42224:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42224:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42195:3:84"
                        },
                        "nativeSrc": "42195:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42195:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42172:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42172:6:84"
                    },
                    "nativeSrc": "42172:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42172:58:84"
                  },
                  "nativeSrc": "42172:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42172:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42250:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42250:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42255:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42255:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42246:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42246:3:84"
                        },
                        "nativeSrc": "42246:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42246:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "42276:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42276:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "42283:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "42283:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "42272:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42272:3:84"
                                },
                                "nativeSrc": "42272:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "42272:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "42266:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42266:5:84"
                            },
                            "nativeSrc": "42266:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42266:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42291:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42291:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42262:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42262:3:84"
                        },
                        "nativeSrc": "42262:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42262:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42239:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42239:6:84"
                    },
                    "nativeSrc": "42239:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42239:58:84"
                  },
                  "nativeSrc": "42239:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42239:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42317:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42317:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42322:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42322:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42313:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42313:3:84"
                        },
                        "nativeSrc": "42313:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42313:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "42343:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42343:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "42350:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "42350:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "42339:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42339:3:84"
                                },
                                "nativeSrc": "42339:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "42339:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "42333:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42333:5:84"
                            },
                            "nativeSrc": "42333:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42333:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42358:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42358:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42329:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42329:3:84"
                        },
                        "nativeSrc": "42329:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42329:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42306:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42306:6:84"
                    },
                    "nativeSrc": "42306:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42306:58:84"
                  },
                  "nativeSrc": "42306:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42306:58:84"
                },
                {
                  "nativeSrc": "42373:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42373:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "42405:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "42405:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42412:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42412:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42401:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42401:3:84"
                        },
                        "nativeSrc": "42401:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42401:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42395:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "42395:5:84"
                    },
                    "nativeSrc": "42395:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42395:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "42377:14:84",
                      "nodeType": "YulTypedName",
                      "src": "42377:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42427:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42427:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42437:18:84",
                    "nodeType": "YulLiteral",
                    "src": "42437:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "42431:2:84",
                      "nodeType": "YulTypedName",
                      "src": "42431:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42475:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42475:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42480:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42480:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42471:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42471:3:84"
                        },
                        "nativeSrc": "42471:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42471:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "42491:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "42491:14:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "42507:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "42507:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42487:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42487:3:84"
                        },
                        "nativeSrc": "42487:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42487:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42464:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42464:6:84"
                    },
                    "nativeSrc": "42464:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42464:47:84"
                  },
                  "nativeSrc": "42464:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42464:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "42531:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "42531:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42536:4:84",
                            "nodeType": "YulLiteral",
                            "src": "42536:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42527:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42527:3:84"
                        },
                        "nativeSrc": "42527:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42527:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "42557:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42557:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "42564:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "42564:4:84",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "42553:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42553:3:84"
                                },
                                "nativeSrc": "42553:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "42553:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "42547:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42547:5:84"
                            },
                            "nativeSrc": "42547:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42547:23:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "42572:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "42572:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42543:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42543:3:84"
                        },
                        "nativeSrc": "42543:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42543:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42520:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42520:6:84"
                    },
                    "nativeSrc": "42520:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42520:56:84"
                  },
                  "nativeSrc": "42520:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42520:56:84"
                },
                {
                  "nativeSrc": "42585:11:84",
                  "nodeType": "YulAssignment",
                  "src": "42585:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "42592:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "42592:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "42585:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "42585:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "41823:779:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "41855:5:84",
                "nodeType": "YulTypedName",
                "src": "41855:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "41862:3:84",
                "nodeType": "YulTypedName",
                "src": "41862:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "41870:3:84",
                "nodeType": "YulTypedName",
                "src": "41870:3:84",
                "type": ""
              }
            ],
            "src": "41823:779:84"
          },
          {
            "body": {
              "nativeSrc": "42912:374:84",
              "nodeType": "YulBlock",
              "src": "42912:374:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42929:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "42929:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "42940:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42940:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42922:6:84"
                    },
                    "nativeSrc": "42922:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42922:25:84"
                  },
                  "nativeSrc": "42922:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42922:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42967:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "42967:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42978:2:84",
                            "nodeType": "YulLiteral",
                            "src": "42978:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42963:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42963:3:84"
                        },
                        "nativeSrc": "42963:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42963:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "42987:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "42987:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42995:18:84",
                            "nodeType": "YulLiteral",
                            "src": "42995:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "42983:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "42983:3:84"
                        },
                        "nativeSrc": "42983:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42983:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42956:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "42956:6:84"
                    },
                    "nativeSrc": "42956:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42956:59:84"
                  },
                  "nativeSrc": "42956:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42956:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43035:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43035:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43046:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43046:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43031:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43031:3:84"
                        },
                        "nativeSrc": "43031:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43031:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "43051:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43051:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43024:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43024:6:84"
                    },
                    "nativeSrc": "43024:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43024:34:84"
                  },
                  "nativeSrc": "43024:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43024:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43078:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43078:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43089:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43089:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43074:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43074:3:84"
                        },
                        "nativeSrc": "43074:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43074:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "43094:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43094:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43067:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43067:6:84"
                    },
                    "nativeSrc": "43067:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43067:34:84"
                  },
                  "nativeSrc": "43067:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43067:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "43143:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43143:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43155:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43155:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43166:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43166:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43151:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43151:3:84"
                        },
                        "nativeSrc": "43151:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43151:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "43110:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "43110:32:84"
                    },
                    "nativeSrc": "43110:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43110:61:84"
                  },
                  "nativeSrc": "43110:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43110:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43191:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43191:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43202:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43202:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43187:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43187:3:84"
                        },
                        "nativeSrc": "43187:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43187:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43208:3:84",
                        "nodeType": "YulLiteral",
                        "src": "43208:3:84",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43180:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43180:6:84"
                    },
                    "nativeSrc": "43180:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43180:32:84"
                  },
                  "nativeSrc": "43180:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43180:32:84"
                },
                {
                  "nativeSrc": "43221:59:84",
                  "nodeType": "YulAssignment",
                  "src": "43221:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "43252:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43252:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43264:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43264:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43275:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43275:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43260:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43260:3:84"
                        },
                        "nativeSrc": "43260:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43260:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "43229:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "43229:22:84"
                    },
                    "nativeSrc": "43229:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43229:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43221:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43221: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": "42607:679:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "42841:9:84",
                "nodeType": "YulTypedName",
                "src": "42841:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "42852:6:84",
                "nodeType": "YulTypedName",
                "src": "42852:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "42860:6:84",
                "nodeType": "YulTypedName",
                "src": "42860:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "42868:6:84",
                "nodeType": "YulTypedName",
                "src": "42868:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "42876:6:84",
                "nodeType": "YulTypedName",
                "src": "42876:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "42884:6:84",
                "nodeType": "YulTypedName",
                "src": "42884:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "42892:6:84",
                "nodeType": "YulTypedName",
                "src": "42892:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "42903:4:84",
                "nodeType": "YulTypedName",
                "src": "42903:4:84",
                "type": ""
              }
            ],
            "src": "42607:679:84"
          },
          {
            "body": {
              "nativeSrc": "43548:304:84",
              "nodeType": "YulBlock",
              "src": "43548:304:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43565:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43565:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "43576:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43576:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43558:6:84"
                    },
                    "nativeSrc": "43558:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43558:25:84"
                  },
                  "nativeSrc": "43558:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43558:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43603:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43603:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43614:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43614:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43599:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43599:3:84"
                        },
                        "nativeSrc": "43599:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43599:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43623:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43623:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43631:18:84",
                            "nodeType": "YulLiteral",
                            "src": "43631:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43619:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43619:3:84"
                        },
                        "nativeSrc": "43619:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43619:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43592:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43592:6:84"
                    },
                    "nativeSrc": "43592:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43592:59:84"
                  },
                  "nativeSrc": "43592:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43592:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43671:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43671:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43682:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43682:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43667:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43667:3:84"
                        },
                        "nativeSrc": "43667:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43667:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "43687:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43687:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43660:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43660:6:84"
                    },
                    "nativeSrc": "43660:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43660:34:84"
                  },
                  "nativeSrc": "43660:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43660:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43714:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43714:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43725:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43725:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43710:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43710:3:84"
                        },
                        "nativeSrc": "43710:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43710:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "43730:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43730:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43703:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43703:6:84"
                    },
                    "nativeSrc": "43703:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43703:34:84"
                  },
                  "nativeSrc": "43703:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43703:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43757:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43757:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43768:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43768:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43753:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43753:3:84"
                        },
                        "nativeSrc": "43753:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43753:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43774:3:84",
                        "nodeType": "YulLiteral",
                        "src": "43774:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43746:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43746:6:84"
                    },
                    "nativeSrc": "43746:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43746:32:84"
                  },
                  "nativeSrc": "43746:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43746:32:84"
                },
                {
                  "nativeSrc": "43787:59:84",
                  "nodeType": "YulAssignment",
                  "src": "43787:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "43818:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "43818:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43830:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43830:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43841:3:84",
                            "nodeType": "YulLiteral",
                            "src": "43841:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43826:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43826:3:84"
                        },
                        "nativeSrc": "43826:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43826:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "43795:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "43795:22:84"
                    },
                    "nativeSrc": "43795:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43795:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43787:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43787: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": "43291:561:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43485:9:84",
                "nodeType": "YulTypedName",
                "src": "43485:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "43496:6:84",
                "nodeType": "YulTypedName",
                "src": "43496:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "43504:6:84",
                "nodeType": "YulTypedName",
                "src": "43504:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "43512:6:84",
                "nodeType": "YulTypedName",
                "src": "43512:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43520:6:84",
                "nodeType": "YulTypedName",
                "src": "43520:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43528:6:84",
                "nodeType": "YulTypedName",
                "src": "43528:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43539:4:84",
                "nodeType": "YulTypedName",
                "src": "43539:4:84",
                "type": ""
              }
            ],
            "src": "43291:561:84"
          },
          {
            "body": {
              "nativeSrc": "43906:79:84",
              "nodeType": "YulBlock",
              "src": "43906:79:84",
              "statements": [
                {
                  "nativeSrc": "43916:17:84",
                  "nodeType": "YulAssignment",
                  "src": "43916:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "43928:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "43928:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "43931:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "43931:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "43924:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43924:3:84"
                    },
                    "nativeSrc": "43924:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43924:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "43916:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43916:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43957:22:84",
                    "nodeType": "YulBlock",
                    "src": "43957:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "43959:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "43959:16:84"
                          },
                          "nativeSrc": "43959:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43959:18:84"
                        },
                        "nativeSrc": "43959:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43959:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "43948:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "43948:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "43954:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "43954:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "43945:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "43945:2:84"
                    },
                    "nativeSrc": "43945:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43945:11:84"
                  },
                  "nativeSrc": "43942:37:84",
                  "nodeType": "YulIf",
                  "src": "43942:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "43857:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43888:1:84",
                "nodeType": "YulTypedName",
                "src": "43888:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43891:1:84",
                "nodeType": "YulTypedName",
                "src": "43891:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "43897:4:84",
                "nodeType": "YulTypedName",
                "src": "43897:4:84",
                "type": ""
              }
            ],
            "src": "43857:128:84"
          },
          {
            "body": {
              "nativeSrc": "44084:1247:84",
              "nodeType": "YulBlock",
              "src": "44084:1247:84",
              "statements": [
                {
                  "nativeSrc": "44094:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44094:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "44114:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "44114:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "44108:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "44108:5:84"
                    },
                    "nativeSrc": "44108:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44108:10:84"
                  },
                  "variables": [
                    {
                      "name": "newLen",
                      "nativeSrc": "44098:6:84",
                      "nodeType": "YulTypedName",
                      "src": "44098:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44161:22:84",
                    "nodeType": "YulBlock",
                    "src": "44161:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "44163:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44163:16:84"
                          },
                          "nativeSrc": "44163:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44163:18:84"
                        },
                        "nativeSrc": "44163:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44163:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "44133:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44133:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44141:18:84",
                        "nodeType": "YulLiteral",
                        "src": "44141:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44130:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44130:2:84"
                    },
                    "nativeSrc": "44130:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44130:30:84"
                  },
                  "nativeSrc": "44127:56:84",
                  "nodeType": "YulIf",
                  "src": "44127:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44235:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "44235:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "44273:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "44273:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "44267:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "44267:5:84"
                            },
                            "nativeSrc": "44267:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "44267:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "44241:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "44241:25:84"
                        },
                        "nativeSrc": "44241:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44241:38:84"
                      },
                      {
                        "name": "newLen",
                        "nativeSrc": "44281:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44281:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "44192:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "44192:42:84"
                    },
                    "nativeSrc": "44192:96:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44192:96:84"
                  },
                  "nativeSrc": "44192:96:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44192:96:84"
                },
                {
                  "nativeSrc": "44297:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44297:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "44314:1:84",
                    "nodeType": "YulLiteral",
                    "src": "44314:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "44301:9:84",
                      "nodeType": "YulTypedName",
                      "src": "44301:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "44324:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44324:23:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "44343:4:84",
                    "nodeType": "YulLiteral",
                    "src": "44343:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "srcOffset_1",
                      "nativeSrc": "44328:11:84",
                      "nodeType": "YulTypedName",
                      "src": "44328:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "44356:17:84",
                  "nodeType": "YulAssignment",
                  "src": "44356:17:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "44369:4:84",
                    "nodeType": "YulLiteral",
                    "src": "44369:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variableNames": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "44356:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "44356:9:84"
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "44419:655:84",
                        "nodeType": "YulBlock",
                        "src": "44419:655:84",
                        "statements": [
                          {
                            "nativeSrc": "44433:35:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "44433:35:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "newLen",
                                  "nativeSrc": "44452:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44452:6:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "44464:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "44464:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "44460:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "44460:3:84"
                                  },
                                  "nativeSrc": "44460:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "44460:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "44448:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "44448:3:84"
                              },
                              "nativeSrc": "44448:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "44448:20:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "44437:7:84",
                                "nodeType": "YulTypedName",
                                "src": "44437:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "44481:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "44481:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "44524:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44524:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "44495:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "44495:28:84"
                              },
                              "nativeSrc": "44495:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "44495:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "44485:6:84",
                                "nodeType": "YulTypedName",
                                "src": "44485:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "44542:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "44542:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "44551:1:84",
                              "nodeType": "YulLiteral",
                              "src": "44551:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "44546:1:84",
                                "nodeType": "YulTypedName",
                                "src": "44546:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "44629:172:84",
                              "nodeType": "YulBlock",
                              "src": "44629:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "44654:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44654:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "44672:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "44672:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "44677:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "44677:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "44668:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "44668:3:84"
                                            },
                                            "nativeSrc": "44668:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "44668:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "mload",
                                          "nativeSrc": "44662:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "44662:5:84"
                                        },
                                        "nativeSrc": "44662:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "44662:26:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "44647:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44647:6:84"
                                    },
                                    "nativeSrc": "44647:42:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44647:42:84"
                                  },
                                  "nativeSrc": "44647:42:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "44647:42:84"
                                },
                                {
                                  "nativeSrc": "44706:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "44706:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "44720:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44720:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44728:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "44728:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "44716:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44716:3:84"
                                    },
                                    "nativeSrc": "44716:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44716:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "44706:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44706:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "44747:40:84",
                                  "nodeType": "YulAssignment",
                                  "src": "44747:40:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "44764:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44764:9:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "44775:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44775:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "44760:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44760:3:84"
                                    },
                                    "nativeSrc": "44760:27:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44760:27:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "44747:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44747:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "44576:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44576:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "44579:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44579:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "44573:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "44573:2:84"
                              },
                              "nativeSrc": "44573:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "44573:14:84"
                            },
                            "nativeSrc": "44565:236:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "44588:28:84",
                              "nodeType": "YulBlock",
                              "src": "44588:28:84",
                              "statements": [
                                {
                                  "nativeSrc": "44590:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "44590:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "44599:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44599:1:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "44602:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44602:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "44595:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44595:3:84"
                                    },
                                    "nativeSrc": "44595:19:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44595:19:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "44590:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44590:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "44569:3:84",
                              "nodeType": "YulBlock",
                              "src": "44569:3:84",
                              "statements": []
                            },
                            "src": "44565:236:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "44849:166:84",
                              "nodeType": "YulBlock",
                              "src": "44849:166:84",
                              "statements": [
                                {
                                  "nativeSrc": "44867:43:84",
                                  "nodeType": "YulVariableDeclaration",
                                  "src": "44867:43:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "44894:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "44894:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "44899:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "44899:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "44890:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "44890:3:84"
                                        },
                                        "nativeSrc": "44890:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "44890:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "44884:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44884:5:84"
                                    },
                                    "nativeSrc": "44884:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44884:26:84"
                                  },
                                  "variables": [
                                    {
                                      "name": "lastValue",
                                      "nativeSrc": "44871:9:84",
                                      "nodeType": "YulTypedName",
                                      "src": "44871:9:84",
                                      "type": ""
                                    }
                                  ]
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "44934:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "44934:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "lastValue",
                                            "nativeSrc": "44946:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "44946:9:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "44973:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "44973:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "newLen",
                                                            "nativeSrc": "44976:6:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "44976:6:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "44969:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "44969:3:84"
                                                        },
                                                        "nativeSrc": "44969:14:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "44969:14:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "44985:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "44985:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "44965:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "44965:3:84"
                                                    },
                                                    "nativeSrc": "44965:24:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "44965:24:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "44995:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "44995:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "44991:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "44991:3:84"
                                                    },
                                                    "nativeSrc": "44991:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "44991:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "44961:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "44961:3:84"
                                                },
                                                "nativeSrc": "44961:37:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "44961:37:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "44957:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "44957:3:84"
                                            },
                                            "nativeSrc": "44957:42:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "44957:42:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "44942:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "44942:3:84"
                                        },
                                        "nativeSrc": "44942:58:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "44942:58:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "44927:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "44927:6:84"
                                    },
                                    "nativeSrc": "44927:74:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44927:74:84"
                                  },
                                  "nativeSrc": "44927:74:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "44927:74:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "44820:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44820:7:84"
                                },
                                {
                                  "name": "newLen",
                                  "nativeSrc": "44829:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "44829:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "44817:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "44817:2:84"
                              },
                              "nativeSrc": "44817:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "44817:19:84"
                            },
                            "nativeSrc": "44814:201:84",
                            "nodeType": "YulIf",
                            "src": "44814:201:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "45035:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "45035:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "45049:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "45049:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "newLen",
                                          "nativeSrc": "45052:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "45052:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "45045:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "45045:3:84"
                                      },
                                      "nativeSrc": "45045:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "45045:14:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "45061:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "45061:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "45041:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "45041:3:84"
                                  },
                                  "nativeSrc": "45041:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "45041:22:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "45028:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "45028:6:84"
                              },
                              "nativeSrc": "45028:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "45028:36:84"
                            },
                            "nativeSrc": "45028:36:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "45028:36:84"
                          }
                        ]
                      },
                      "nativeSrc": "44412:662:84",
                      "nodeType": "YulCase",
                      "src": "44412:662:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "44417:1:84",
                        "nodeType": "YulLiteral",
                        "src": "44417:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "45091:234:84",
                        "nodeType": "YulBlock",
                        "src": "45091:234:84",
                        "statements": [
                          {
                            "nativeSrc": "45105:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "45105:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "45118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "45118:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "45109:5:84",
                                "nodeType": "YulTypedName",
                                "src": "45109:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "45154:67:84",
                              "nodeType": "YulBlock",
                              "src": "45154:67:84",
                              "statements": [
                                {
                                  "nativeSrc": "45172:35:84",
                                  "nodeType": "YulAssignment",
                                  "src": "45172:35:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "45191:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "45191:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "45196:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "45196:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "45187:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "45187:3:84"
                                        },
                                        "nativeSrc": "45187:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "45187:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "45181:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "45181:5:84"
                                    },
                                    "nativeSrc": "45181:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "45181:26:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "45172:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "45172:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "newLen",
                              "nativeSrc": "45135:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "45135:6:84"
                            },
                            "nativeSrc": "45132:89:84",
                            "nodeType": "YulIf",
                            "src": "45132:89:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "45241:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "45241:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "45300:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "45300:5:84"
                                    },
                                    {
                                      "name": "newLen",
                                      "nativeSrc": "45307:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "45307:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "45247:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "45247:52:84"
                                  },
                                  "nativeSrc": "45247:67:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "45247:67:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "45234:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "45234:6:84"
                              },
                              "nativeSrc": "45234:81:84",
                              "nodeType": "YulFunctionCall",
                              "src": "45234:81:84"
                            },
                            "nativeSrc": "45234:81:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "45234:81:84"
                          }
                        ]
                      },
                      "nativeSrc": "45083:242:84",
                      "nodeType": "YulCase",
                      "src": "45083:242:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "44392:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "44392:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44400:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44400:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44389:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44389:2:84"
                    },
                    "nativeSrc": "44389:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44389:14:84"
                  },
                  "nativeSrc": "44382:943:84",
                  "nodeType": "YulSwitch",
                  "src": "44382:943:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
            "nativeSrc": "43990:1341:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44069:4:84",
                "nodeType": "YulTypedName",
                "src": "44069:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "44075:3:84",
                "nodeType": "YulTypedName",
                "src": "44075:3:84",
                "type": ""
              }
            ],
            "src": "43990:1341:84"
          },
          {
            "body": {
              "nativeSrc": "45461:141:84",
              "nodeType": "YulBlock",
              "src": "45461:141:84",
              "statements": [
                {
                  "nativeSrc": "45471:26:84",
                  "nodeType": "YulAssignment",
                  "src": "45471:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45483:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45483:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45494:2:84",
                        "nodeType": "YulLiteral",
                        "src": "45494:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "45479:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "45479:3:84"
                    },
                    "nativeSrc": "45479:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45479:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "45471:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "45471:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45513:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45513:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "45528:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45528:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45536:4:84",
                            "nodeType": "YulLiteral",
                            "src": "45536:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45524:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45524:3:84"
                        },
                        "nativeSrc": "45524:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45524:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45506:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45506:6:84"
                    },
                    "nativeSrc": "45506:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45506:36:84"
                  },
                  "nativeSrc": "45506:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45506:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45562:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "45562:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45573:2:84",
                            "nodeType": "YulLiteral",
                            "src": "45573:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45558:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45558:3:84"
                        },
                        "nativeSrc": "45558:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45558:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "45582:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45582:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45590:4:84",
                            "nodeType": "YulLiteral",
                            "src": "45590:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45578:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45578:3:84"
                        },
                        "nativeSrc": "45578:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45578:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45551:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45551:6:84"
                    },
                    "nativeSrc": "45551:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45551:45:84"
                  },
                  "nativeSrc": "45551:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45551:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "45336:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45422:9:84",
                "nodeType": "YulTypedName",
                "src": "45422:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "45433:6:84",
                "nodeType": "YulTypedName",
                "src": "45433:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "45441:6:84",
                "nodeType": "YulTypedName",
                "src": "45441:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "45452:4:84",
                "nodeType": "YulTypedName",
                "src": "45452:4:84",
                "type": ""
              }
            ],
            "src": "45336:266:84"
          },
          {
            "body": {
              "nativeSrc": "45654:133:84",
              "nodeType": "YulBlock",
              "src": "45654:133:84",
              "statements": [
                {
                  "nativeSrc": "45664:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "45664:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "45674:18:84",
                    "nodeType": "YulLiteral",
                    "src": "45674:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "45668:2:84",
                      "nodeType": "YulTypedName",
                      "src": "45668:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "45701:34:84",
                  "nodeType": "YulAssignment",
                  "src": "45701:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "45716:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "45716:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "45719:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "45719:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45712:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45712:3:84"
                        },
                        "nativeSrc": "45712:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45712:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "45728:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "45728:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "45731:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "45731:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45724:3:84"
                        },
                        "nativeSrc": "45724:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45724:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "45708:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "45708:3:84"
                    },
                    "nativeSrc": "45708:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45708:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "45701:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "45701:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "45759:22:84",
                    "nodeType": "YulBlock",
                    "src": "45759:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "45761:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "45761:16:84"
                          },
                          "nativeSrc": "45761:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "45761:18:84"
                        },
                        "nativeSrc": "45761:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "45761:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "45750:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "45750:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "45755:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "45755:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "45747:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "45747:2:84"
                    },
                    "nativeSrc": "45747:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45747:11:84"
                  },
                  "nativeSrc": "45744:37:84",
                  "nodeType": "YulIf",
                  "src": "45744:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "45607:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "45637:1:84",
                "nodeType": "YulTypedName",
                "src": "45637:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "45640:1:84",
                "nodeType": "YulTypedName",
                "src": "45640:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "45646:3:84",
                "nodeType": "YulTypedName",
                "src": "45646:3:84",
                "type": ""
              }
            ],
            "src": "45607:180:84"
          },
          {
            "body": {
              "nativeSrc": "45891:87:84",
              "nodeType": "YulBlock",
              "src": "45891:87:84",
              "statements": [
                {
                  "nativeSrc": "45901:26:84",
                  "nodeType": "YulAssignment",
                  "src": "45901:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45913:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45913:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45924:2:84",
                        "nodeType": "YulLiteral",
                        "src": "45924:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "45909:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "45909:3:84"
                    },
                    "nativeSrc": "45909:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45909:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "45901:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "45901:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45943:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "45943:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "45958:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "45958:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45966:4:84",
                            "nodeType": "YulLiteral",
                            "src": "45966:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45954:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "45954:3:84"
                        },
                        "nativeSrc": "45954:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "45954:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45936:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "45936:6:84"
                    },
                    "nativeSrc": "45936:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "45936:36:84"
                  },
                  "nativeSrc": "45936:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "45936:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "45792:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45860:9:84",
                "nodeType": "YulTypedName",
                "src": "45860:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "45871:6:84",
                "nodeType": "YulTypedName",
                "src": "45871:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "45882:4:84",
                "nodeType": "YulTypedName",
                "src": "45882:4:84",
                "type": ""
              }
            ],
            "src": "45792:186:84"
          },
          {
            "body": {
              "nativeSrc": "46021:74:84",
              "nodeType": "YulBlock",
              "src": "46021:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "46044:22:84",
                    "nodeType": "YulBlock",
                    "src": "46044:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "46046:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "46046:16:84"
                          },
                          "nativeSrc": "46046:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "46046:18:84"
                        },
                        "nativeSrc": "46046:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "46046:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "46041:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "46041:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "46034:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46034:6:84"
                    },
                    "nativeSrc": "46034:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46034:9:84"
                  },
                  "nativeSrc": "46031:35:84",
                  "nodeType": "YulIf",
                  "src": "46031:35:84"
                },
                {
                  "nativeSrc": "46075:14:84",
                  "nodeType": "YulAssignment",
                  "src": "46075:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "46084:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "46084:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "46087:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "46087:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "46080:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "46080:3:84"
                    },
                    "nativeSrc": "46080:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46080:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "46075:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "46075:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "45983:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "46006:1:84",
                "nodeType": "YulTypedName",
                "src": "46006:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "46009:1:84",
                "nodeType": "YulTypedName",
                "src": "46009:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "46015:1:84",
                "nodeType": "YulTypedName",
                "src": "46015:1:84",
                "type": ""
              }
            ],
            "src": "45983:112:84"
          },
          {
            "body": {
              "nativeSrc": "46274:229:84",
              "nodeType": "YulBlock",
              "src": "46274:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46291:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "46291:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46302:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46302:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46284:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46284:6:84"
                    },
                    "nativeSrc": "46284:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46284:21:84"
                  },
                  "nativeSrc": "46284:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46284:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46325:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46325:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46336:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46336:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46321:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46321:3:84"
                        },
                        "nativeSrc": "46321:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46321:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46341:2:84",
                        "nodeType": "YulLiteral",
                        "src": "46341:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46314:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46314:6:84"
                    },
                    "nativeSrc": "46314:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46314:30:84"
                  },
                  "nativeSrc": "46314:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46314:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46364:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46364:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46375:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46375:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46360:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46360:3:84"
                        },
                        "nativeSrc": "46360:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46360:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "46380:34:84",
                        "nodeType": "YulLiteral",
                        "src": "46380:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46353:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46353:6:84"
                    },
                    "nativeSrc": "46353:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46353:62:84"
                  },
                  "nativeSrc": "46353:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46353:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46435:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "46435:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46446:2:84",
                            "nodeType": "YulLiteral",
                            "src": "46446:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46431:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46431:3:84"
                        },
                        "nativeSrc": "46431:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46431:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "46451:9:84",
                        "nodeType": "YulLiteral",
                        "src": "46451:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46424:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "46424:6:84"
                    },
                    "nativeSrc": "46424:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46424:37:84"
                  },
                  "nativeSrc": "46424:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "46424:37:84"
                },
                {
                  "nativeSrc": "46470:27:84",
                  "nodeType": "YulAssignment",
                  "src": "46470:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46482:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "46482:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46493:3:84",
                        "nodeType": "YulLiteral",
                        "src": "46493:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "46478:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "46478:3:84"
                    },
                    "nativeSrc": "46478:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46478:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "46470:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "46470:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "46100:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46251:9:84",
                "nodeType": "YulTypedName",
                "src": "46251:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46265:4:84",
                "nodeType": "YulTypedName",
                "src": "46265:4:84",
                "type": ""
              }
            ],
            "src": "46100:403:84"
          },
          {
            "body": {
              "nativeSrc": "46555:104:84",
              "nodeType": "YulBlock",
              "src": "46555:104:84",
              "statements": [
                {
                  "nativeSrc": "46565:39:84",
                  "nodeType": "YulAssignment",
                  "src": "46565:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "46581:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "46581:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46584:4:84",
                            "nodeType": "YulLiteral",
                            "src": "46584:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46577:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46577:3:84"
                        },
                        "nativeSrc": "46577:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46577:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "46595:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "46595:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46598:4:84",
                            "nodeType": "YulLiteral",
                            "src": "46598:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46591:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "46591:3:84"
                        },
                        "nativeSrc": "46591:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "46591:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "46573:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "46573:3:84"
                    },
                    "nativeSrc": "46573:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46573:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "46565:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "46565:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "46631:22:84",
                    "nodeType": "YulBlock",
                    "src": "46631:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "46633:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "46633:16:84"
                          },
                          "nativeSrc": "46633:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "46633:18:84"
                        },
                        "nativeSrc": "46633:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "46633:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "46619:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "46619:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46625:4:84",
                        "nodeType": "YulLiteral",
                        "src": "46625:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "46616:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "46616:2:84"
                    },
                    "nativeSrc": "46616:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "46616:14:84"
                  },
                  "nativeSrc": "46613:40:84",
                  "nodeType": "YulIf",
                  "src": "46613:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "46508:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "46537:1:84",
                "nodeType": "YulTypedName",
                "src": "46537:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "46540:1:84",
                "nodeType": "YulTypedName",
                "src": "46540:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "46546:4:84",
                "nodeType": "YulTypedName",
                "src": "46546:4:84",
                "type": ""
              }
            ],
            "src": "46508: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_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 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 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 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_encode_bytes_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes_calldata(value0, value1, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\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 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 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_packed_t_stringliteral_a3d2fbc1dacd26016777974249679186cfba06247b2ee668f7780fc4977b2c2e_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, shl(225, 0x03759621))\n        mstore(add(pos, 32), shl(229, 1))\n        mstore(add(pos, 64), shl(224, 1))\n        mstore(add(pos, 96), add(shl(229, 1), 255))\n        mstore(add(pos, 128), shl(224, 0xffffffff))\n        mstore(add(pos, 160), not(0))\n        mstore(add(pos, 192), shl(212, 0x0fffffffffff))\n        mstore(add(pos, 224), shl(223, 1))\n        mstore(add(pos, 256), shl(216, 255))\n        let _1 := 261\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, _1), length)\n        end := add(add(pos, length), _1)\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        let tail_1 := abi_encode_bytes_calldata(value1, value2, add(headStart, 160))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        tail := abi_encode_bytes(value5, tail_1)\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_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 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_packed_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value0)\n        pos_1 := pos\n        let _1 := 0x20\n        let srcPtr := add(value0, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos_1, mload(srcPtr))\n            pos_1 := add(pos_1, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(pos_1, value1)\n        end := add(pos_1, 0x20)\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": "738:6261:32:-:0;;;675:10:28;639:46;;-1:-1:-1;;;1345:72:36;;1013:802:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1444:8;1467:9;1491:11;1517;1543:20;1578:32;1625:38;1678: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;;1764:42:32::1;1724:83;::::0;-1:-1:-1;738:6261:32;;-1:-1:-1;;;;;;;;;738:6261:32;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::-;738:6261:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "738:6261:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3637:32:36;;;:7;:32::i;:::-;738:6261:32;;;;;;;;;;;-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;;;;;;;;4314:296:32;;;;;;;;;;-1:-1:-1;4314:296:32;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;4314:296:32;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;3748:279:32;;;;;;;;;;-1:-1:-1;3748:279:32;;;;;:::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;;5170:1826:32;;;;;;;;;;-1:-1:-1;5170:1826:32;;;;;:::i;:::-;;:::i;:::-;;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;5170:1826:32;14972:248:84;9033:419:36;;;;;;;;;;-1:-1:-1;9033:419:36;;;;;:::i;:::-;;:::i;19674:853::-;;;;;;:::i;:::-;;:::i;12906:974::-;;;;;;;;;;-1:-1:-1;12906:974:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;1345:72:36;;;;;;;;;;;;;;;10307:190;;;;;;;;;;-1:-1:-1;10307:190:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25776:1038::-;;;;;;;;;;-1:-1:-1;25776:1038:36;;;;;:::i;:::-;;:::i;873:132:32:-;;;;;;;;;;;;;:::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;11403:225:36:-;;;;;;;;;;-1:-1:-1;11403:225:36;;;;;:::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;4314:296:32:-;4461:7;4516:86;4573:9;4584:17;4516:56;:86::i;:::-;4493:20;4510:2;4493:16;:20::i;:::-;:109;;;;:::i;:::-;4486:116;4314:296;-1:-1:-1;;;4314:296:32: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;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:14:36;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;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;;;;14152:413;;;;:::o;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;3748:279:32:-;3881:7;3948:71;3993:9;4004:14;3948:44;:71::i;:::-;3913:32;3930:14;3913:16;:32::i;12493:240:36:-;12619:12;12656:53;12694:14;12656:37;:53::i;:::-;:69;;12649:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:240;;;:::o;5170:1826:32:-;5453:17;5472;5512:8;5507:1413;5526:28;;;5507:1413;;;5644:27;5583:57;5619:15;;5635:3;5619:20;;;;;;;:::i;5583:57::-;:88;;;;;;;;:::i;:::-;;5579:1330;;5692:34;5729:58;5766:15;;5782:3;5766:20;;;;;;;:::i;:::-;;;;;;;5729:36;:58::i;:::-;5810:21;;;;-1:-1:-1;;;;5810:21:32;;;;:25;5806:952;;6001:21;;5873:172;;5956:17;;-1:-1:-1;;;6001:21:32;;;;5873:56;:172::i;:::-;5860:185;;;;:::i;:::-;;;5806:952;;;6098:19;;;;:33;6094:645;;6173:212;6248:17;6297:8;-1:-1:-1;;;;;6297:40:32;;6338:9;:19;;;6297:61;;;;;;;;;;;;;2495:25:84;;2483:2;2468:18;;2349:177;6297:61:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6173:44;:212::i;6094:645::-;6554:160;6629:17;6685:1;6554:44;:160::i;:::-;6541:173;;;;:::i;:::-;;;6094:645;6829:13;6789:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;6789:53:32;;;;;:::i;:::-;6776:66;;;;:::i;:::-;6874:19;;6776:66;;-1:-1:-1;6861:32:32;;-1:-1:-1;;;6874:19:32;;-1:-1:-1;;;;;6874:19:32;6861:32;;:::i;:::-;;;5673:1236;5579:1330;5556:6;;5507:1413;;;-1:-1:-1;6943:45:32;;-1:-1:-1;;;6943:45:32;;-1:-1:-1;;;;;6943:18:32;:27;;;;:45;;6971:16;;;;6943:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6930:58;;;;:::i;:::-;;;5170:1826;;;;;;;;;:::o;9033:419:36:-;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;12906:974::-;-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;13172:701::-;13057:823;12906:974;;;:::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;25776:1038::-;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;873:132:32:-;961:36;;;;;;;;;;;;;;;;;;873:132::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;;37316:25:84;;;-1:-1:-1;;;21164:19:36;;::::1;::::0;;::::1;37372:2:84::0;37357:18;;37350:61;21122:62:36::1;::::0;-1:-1:-1;37289: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;11403:225:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11567:53:36;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;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;1888:796:32:-;1968:7;1995:18;-1:-1:-1;;;;;1995:27:32;;2618:32;2635:14;2618:16;:32::i;:::-;2037:628;;;;;;;;:::i;:::-;;;;;;;;;;;;;1995:681;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2565:204:28:-;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;;;38467:25:84;;;4492:11:37;38523:2:84;38508:18;;38501:34;38551:18;;;38544:34;;;33386:165:36;;;;;;;38455: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;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;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;2692:470:32:-;2763:12;2813:24;2871:2;2854:19;;;;2840:34;;-1:-1:-1;;;;;2840:34:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2840:34:32;;2813:61;;2894:8;2889:116;2914:7;:14;2908:3;:20;2889:116;;;-1:-1:-1;;2957:7:32;2965:3;2957:12;;;;;;;;:::i;:::-;;;;;;;;;;:32;2930:6;;2889:116;;;-1:-1:-1;3026:117:32;;;;3061:7;;-1:-1:-1;;3126:1:32;3102:19;;;3096:26;3095:32;;3119:2;3026:117;;:::i;:::-;;;;;;;;;;;;;3019:124;;;2692:470;;;:::o;35625:3032:36:-;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;;45536:4:84;45524:17;;;1813:45:66;;;45506:36:84;45578:17;;;45558:18;;;45551:45;45479:18;;1813:45:66;45336: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;;45536:4:84;45524:17;;;1813:45:66;;;45506:36:84;45578:17;;;45558:18;;;45551:45;45479:18;;1813:45:66;45336: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;;45966:4:84;45954:17;;3859:31:66::1;::::0;::::1;45936:36:84::0;45909:18;;3859:31:66::1;45792: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;;45966:4:84;45954:17;;9480:44:66;;;45936:36:84;45909:18;;9480:44:66;45792: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;;45536:4:84;45524:17;;;1813:45:66;;;45506:36:84;45578:17;;;45558:18;;;45551:45;45479:18;;1813:45:66;45336: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;;45536:4:84;45524:17;;;7982:54:66::1;::::0;::::1;45506:36:84::0;1121:1:66::1;45558:18:84::0;;;45551:45;45479:18;;7982:54:66::1;45336: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;;46302:2:84;5669:49:66;;;46284:21:84;46341:2;46321:18;;;46314:30;46380:34;46360:18;;;46353:62;-1:-1:-1;;;46431:18:84;;;46424:37;46478:19;;5669:49:66;46100: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;;45966:4:84;45954:17;;;6041:49:66;;;45936:36:84;45909:18;;6041:49:66;45792:186:84;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:125;20467:9;;;20488:10;;;20485:36;;;20501:18;;:::i;20532:330::-;20630:4;20688:11;20675:25;20782:3;20778:8;20767;20751:14;20747:29;20743:44;20723:18;20719:69;20709:97;;20802:1;20799;20792:12;20709:97;20823:33;;;;;20532:330;-1:-1:-1;;20532:330:84:o;21093:489::-;21147:5;21200:3;21193:4;21185:6;21181:17;21177:27;21167:55;;21218:1;21215;21208:12;21167:55;21247:6;21241:13;21273:31;21301:2;21273:31;:::i;:::-;21333:2;21327:9;21345:31;21373:2;21365:6;21345:31;:::i;:::-;21400:2;21392:6;21385:18;21446:3;21439:4;21434:2;21426:6;21422:15;21418:26;21415:35;21412:55;;;21463:1;21460;21453:12;21412:55;21476:76;21549:2;21542:4;21534:6;21530:17;21523:4;21515:6;21511:17;21476:76;:::i;21587:337::-;21667:6;21720:2;21708:9;21699:7;21695:23;21691:32;21688:52;;;21736:1;21733;21726:12;21688:52;21769:9;21763:16;-1:-1:-1;;;;;21794:6:84;21791:30;21788:50;;;21834:1;21831;21824:12;21788:50;21857:61;21910:7;21901:6;21890:9;21886:22;21857:61;:::i;21929:290::-;22106:6;22095:9;22088:25;22149:2;22144;22133:9;22129:18;22122:30;22069:4;22169:44;22209:2;22198:9;22194:18;22186:6;22169:44;:::i;22224:184::-;22282:6;22335:2;22323:9;22314:7;22310:23;22306:32;22303:52;;;22351:1;22348;22341:12;22303:52;22374:28;22392:9;22374:28;:::i;22413:521::-;22490:4;22496:6;22556:11;22543:25;22650:2;22646:7;22635:8;22619:14;22615:29;22611:43;22591:18;22587:68;22577:96;;22669:1;22666;22659:12;22577:96;22696:33;;22748:20;;;-1:-1:-1;;;;;;22780:30:84;;22777:50;;;22823:1;22820;22813:12;22777:50;22856:4;22844:17;;-1:-1:-1;22887:14:84;22883:27;;;22873:38;;22870:58;;;22924:1;22921;22914:12;22939:473;23171:3;23209:6;23203:13;23225:66;23284:6;23279:3;23272:4;23264:6;23260:17;23225:66;:::i;:::-;-1:-1:-1;;;23313:16:84;;23338:38;;;-1:-1:-1;23403:2:84;23392:14;;22939:473;-1:-1:-1;22939:473:84:o;23417:380::-;23496:1;23492:12;;;;23539;;;23560:61;;23614:4;23606:6;23602:17;23592:27;;23560:61;23667:2;23659:6;23656:14;23636:18;23633:38;23630:161;;23713:10;23708:3;23704:20;23701:1;23694:31;23748:4;23745:1;23738:15;23776:4;23773:1;23766:15;23802:658;23973:2;24025:21;;;24095:13;;23998:18;;;24117:22;;;23944:4;;23973:2;24196:15;;;;24170:2;24155:18;;;23944:4;24239:195;24253:6;24250:1;24247:13;24239:195;;;24318:13;;-1:-1:-1;;;;;24314:39:84;24302:52;;24409:15;;;;24374:12;;;;24350:1;24268:9;24239:195;;24465:168;24538:9;;;24569;;24586:15;;;24580:22;;24566:37;24556:71;;24607:18;;:::i;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:249::-;30423:6;30476:2;30464:9;30455:7;30451:23;30447:32;30444:52;;;30492:1;30489;30482:12;30444:52;30524:9;30518:16;30543:30;30567:5;30543:30;:::i;30608:266::-;30696:6;30691:3;30684:19;30748:6;30741:5;30734:4;30729:3;30725:14;30712:43;-1:-1:-1;30800:1:84;30775:16;;;30793:4;30771:27;;;30764:38;;;;30856:2;30835:15;;;-1:-1:-1;;30831:29:84;30822:39;;;30818:50;;30608:266::o;30879:244::-;31036:2;31025:9;31018:21;30999:4;31056:61;31113:2;31102:9;31098:18;31090:6;31082;31056:61;:::i;31128:184::-;31198:6;31251:2;31239:9;31230:7;31226:23;31222:32;31219:52;;;31267:1;31264;31257:12;31219:52;-1:-1:-1;31290:16:84;;31128:184;-1:-1:-1;31128:184:84:o;31317:277::-;31384:6;31437:2;31425:9;31416:7;31412:23;31408:32;31405:52;;;31453:1;31450;31443:12;31405:52;31485:9;31479:16;31538:5;31531:13;31524:21;31517:5;31514:32;31504:60;;31560:1;31557;31550:12;31724:542;31825:2;31820:3;31817:11;31814:446;;;31861:1;31885:5;31882:1;31875:16;31929:4;31926:1;31916:18;31999:2;31987:10;31983:19;31980:1;31976:27;31970:4;31966:38;32035:4;32023:10;32020:20;32017:47;;;-1:-1:-1;32058:4:84;32017:47;32113:2;32108:3;32104:12;32101:1;32097:20;32091:4;32087:31;32077:41;;32168:82;32186:2;32179:5;32176:13;32168:82;;;32231:17;;;32212:1;32201:13;32168:82;;;32172:3;;;31724:542;;;:::o;32442:1202::-;-1:-1:-1;;;;;32559:3:84;32556:27;32553:53;;;32586:18;;:::i;:::-;32615:93;32704:3;32664:38;32696:4;32690:11;32664:38;:::i;:::-;32658:4;32615:93;:::i;:::-;32734:1;32759:2;32754:3;32751:11;32776:1;32771:615;;;;33430:1;33447:3;33444:93;;;-1:-1:-1;33503:19:84;;;33490:33;33444:93;-1:-1:-1;;32399:1:84;32395:11;;;32391:24;32387:29;32377:40;32423:1;32419:11;;;32374:57;33550:78;;32744:894;;32771:615;31671:1;31664:14;;;31708:4;31695:18;;-1:-1:-1;;32807:17:84;;;32907:9;32929:229;32943:7;32940:1;32937:14;32929:229;;;33032:19;;;33019:33;33004:49;;33139:4;33124:20;;;;33092:1;33080:14;;;;32959:12;32929:229;;;32933:3;33186;33177:7;33174:16;33171:159;;;33310:1;33306:6;33300:3;33294;33291:1;33287:11;33283:21;33279:34;33275:39;33262:9;33257:3;33253:19;33240:33;33236:79;33228:6;33221:95;33171:159;;;33373:1;33367:3;33364:1;33360:11;33356:19;33350:4;33343:33;32744:894;;;32442:1202;;;:::o;33649:1081::-;33829:49;33868:9;33860:6;33829:49;:::i;:::-;33810:4;33897:2;33935;33930;33919:9;33915:18;33908:30;33958:1;33991:6;33985:13;34021:36;34047:9;34021:36;:::i;:::-;34093:6;34088:2;34077:9;34073:18;34066:34;34119:2;34140:1;34172;34161:9;34157:17;34188:1;34183:158;;;;34355:1;34350:354;;;;34150:554;;34183:158;34250:3;34246:8;34235:9;34231:24;34226:2;34215:9;34211:18;34204:52;34328:2;34316:6;34309:14;34302:22;34299:1;34295:30;34284:9;34280:46;34276:55;34269:62;;34183:158;;34350:354;34381:6;34378:1;34371:17;34429:2;34426:1;34416:16;34454:1;34468:180;34482:6;34479:1;34476:13;34468:180;;;34575:14;;34551:17;;;34547:26;;34540:50;34618:16;;;;34497:10;;34468:180;;;34672:17;;34691:2;34668:26;;-1:-1:-1;;34150:554:84;-1:-1:-1;34721:3:84;;33649:1081;-1:-1:-1;;;;;;;;;33649:1081:84:o;34735:902::-;34835:6;34888:2;34876:9;34867:7;34863:23;34859:32;34856:52;;;34904:1;34901;34894:12;34856:52;34937:9;34931:16;-1:-1:-1;;;;;35007:2:84;34999:6;34996:14;34993:34;;;35023:1;35020;35013:12;34993:34;35046:22;;;;35102:4;35084:16;;;35080:27;35077:47;;;35120:1;35117;35110:12;35077:47;35153:4;35147:11;35197:4;35189:6;35185:17;35252:6;35240:10;35237:22;35232:2;35220:10;35217:18;35214:46;35211:72;;;35263:18;;:::i;:::-;35299:4;35292:24;35338:9;;35376:3;35366:14;;35356:42;;35394:1;35391;35384:12;35356:42;35407:21;;35467:2;35459:11;;35453:18;35483:16;;;35480:36;;;35512:1;35509;35502:12;35480:36;35549:56;35597:7;35586:8;35582:2;35578:17;35549:56;:::i;:::-;35544:2;35532:15;;35525:81;-1:-1:-1;35536:6:84;34735:902;-1:-1:-1;;;;;34735:902:84:o;35642:179::-;35677:3;35719:1;35701:16;35698:23;35695:120;;;35765:1;35762;35759;35744:23;-1:-1:-1;35802:1:84;35796:8;35791:3;35787:18;35695:120;35642:179;:::o;35826:671::-;35865:3;35907:4;35889:16;35886:26;35883:39;;;35826:671;:::o;35883:39::-;35949:2;35943:9;-1:-1:-1;;36014:16:84;36010:25;;36007:1;35943:9;35986:50;36065:4;36059:11;36089:16;-1:-1:-1;;;;;36195:2:84;36188:4;36180:6;36176:17;36173:25;36168:2;36160:6;36157:14;36154:45;36151:58;;;36202:5;;;;;35826:671;:::o;36151:58::-;36239:6;36233:4;36229:17;36218:28;;36275:3;36269:10;36302:2;36294:6;36291:14;36288:27;;;36308:5;;;;;;35826:671;:::o;36288:27::-;36392:2;36373:16;36367:4;36363:27;36359:36;36352:4;36343:6;36338:3;36334:16;36330:27;36327:69;36324:82;;;36399:5;;;;;;35826:671;:::o;36324:82::-;36415:57;36466:4;36457:6;36449;36445:19;36441:30;36435:4;36415:57;:::i;:::-;-1:-1:-1;36488:3:84;;35826:671;-1:-1:-1;;;;;35826:671:84:o;36502:449::-;-1:-1:-1;;;36759:3:84;36752:32;36734:3;36813:6;36807:13;36829:75;36897:6;36892:2;36887:3;36883:12;36876:4;36868:6;36864:17;36829:75;:::i;:::-;36924:16;;;;36942:2;36920:25;;36502:449;-1:-1:-1;;36502:449:84:o;36956:182::-;-1:-1:-1;;;;;37063:10:84;;;37075;;;37059:27;;37098:11;;;37095:37;;;37112:18;;:::i;37422:838::-;-1:-1:-1;;;37670:33:84;;-1:-1:-1;;;37728:2:84;37719:12;;;37712:33;;;;-1:-1:-1;;;37770:2:84;37761:12;;37754:33;-1:-1:-1;;;;;37812:2:84;37803:12;;37796:43;-1:-1:-1;;;;;;37864:3:84;37855:13;;37848:43;-1:-1:-1;;37916:3:84;37907:13;;37900:29;-1:-1:-1;;;;;;37954:3:84;37945:13;;37938:47;-1:-1:-1;;;37779:3:84;38001:13;;37994:34;-1:-1:-1;;;38053:3:84;38044:13;;38037:36;38118:13;;-1:-1:-1;;38092:3:84;;38118:13;38140:73;;38118:13;;38192:12;;;;38175:15;;38140:73;:::i;:::-;38233:16;;;;38229:25;;;;37422:838;-1:-1:-1;;37422:838:84:o;38589:622::-;38878:6;38867:9;38860:25;38921:3;38916:2;38905:9;38901:18;38894:31;38841:4;38948:62;39005:3;38994:9;38990:19;38982:6;38974;38948:62;:::i;:::-;39046:6;39041:2;39030:9;39026:18;39019:34;39089:6;39084:2;39073:9;39069:18;39062:34;39145:9;39137:6;39133:22;39127:3;39116:9;39112:19;39105:51;39173:32;39198:6;39190;39173:32;:::i;:::-;39165:40;38589:622;-1:-1:-1;;;;;;;;;38589:622:84:o;39216:245::-;39274:6;39327:2;39315:9;39306:7;39302:23;39298:32;39295:52;;;39343:1;39340;39333:12;39295:52;39382:9;39369:23;39401:30;39425:5;39401:30;:::i;39466:243::-;39523:6;39576:2;39564:9;39555:7;39551:23;39547:32;39544:52;;;39592:1;39589;39582:12;39544:52;39631:9;39618:23;39650:29;39673:5;39650:29;:::i;39714:135::-;39753:3;39774:17;;;39771:43;;39794:18;;:::i;:::-;-1:-1:-1;39841:1:84;39830:13;;39714:135::o;39854:542::-;40023:5;40010:19;40038:31;40061:7;40038:31;:::i;:::-;40101:4;40092:7;40088:18;40078:28;;40131:4;40125:11;40180:2;40173:3;40169:8;40165:2;40161:17;40158:25;40152:4;40145:39;40232:2;40225:5;40221:14;40208:28;40245:32;40269:7;40245:32;:::i;:::-;40367:20;40357:7;40354:1;40350:15;40346:42;40341:2;-1:-1:-1;;;;;40313:25:84;40309:2;40305:34;40302:42;40299:90;40293:4;40286:104;;;;39854:542;;:::o;40401:171::-;40469:6;40508:10;;;40496;;;40492:27;;40531:12;;;40528:38;;;40546:18;;:::i;40577:187::-;40616:1;40642:6;40675:2;40672:1;40668:10;40697:3;40687:37;;40704:18;;:::i;:::-;40742:10;;40738:20;;;;;40577:187;-1:-1:-1;;40577:187:84:o;40769:168::-;40836:6;40862:10;;;40874;;;40858:27;;40897:11;;;40894:37;;;40911:18;;:::i;40942:257::-;-1:-1:-1;;;;;41063:10:84;;;41075;;;41059:27;41106:20;;;;41013:18;41145:24;;;41135:58;;41173:18;;:::i;:::-;41135:58;;40942:257;;;;:::o;41204:614::-;41450:13;;41393:3;;41424;;41503:4;41530:17;;;41393:3;41575:175;41589:6;41586:1;41583:13;41575:175;;;41652:13;;41638:28;;41688:14;;;;41725:15;;;;41611:1;41604:9;41575:175;;;-1:-1:-1;;;41759:21:84;;;41807:4;41796:16;;41204:614;-1:-1:-1;;;;41204:614:84:o;41823:779::-;41870:3;41914:5;41908:12;41941:4;41936:3;41929:17;41983:12;41977:19;42028:4;42021;42016:3;42012:14;42005:28;42054:47;42096:3;42091;42087:13;42071:14;42054:47;:::i;:::-;42042:59;;42156:4;42142:12;42138:23;42132:30;42126:3;42121;42117:13;42110:53;42224:4;42216;42209:5;42205:16;42199:23;42195:34;42188:4;42183:3;42179:14;42172:58;42291:4;42283;42276:5;42272:16;42266:23;42262:34;42255:4;42250:3;42246:14;42239:58;42358:4;42350;42343:5;42339:16;42333:23;42329:34;42322:4;42317:3;42313:14;42306:58;42412:4;42405:5;42401:16;42395:23;42373:45;;-1:-1:-1;;;;;42507:2:84;42491:14;42487:23;42480:4;42475:3;42471:14;42464:47;42572:2;42564:4;42557:5;42553:16;42547:23;42543:32;42536:4;42531:3;42527:14;42520:56;;42592:4;42585:11;;;;41823:779;;;;:::o;42607:679::-;42940:6;42929:9;42922:25;-1:-1:-1;;;;;42987:6:84;42983:31;42978:2;42967:9;42963:18;42956:59;43051:6;43046:2;43035:9;43031:18;43024:34;43094:6;43089:2;43078:9;43074:18;43067:34;43110:61;43166:3;43155:9;43151:19;43143:6;43110:61;:::i;:::-;43208:3;43202;43191:9;43187:19;43180:32;42903:4;43229:51;43275:3;43264:9;43260:19;43252:6;43229:51;:::i;:::-;43221:59;42607:679;-1:-1:-1;;;;;;;;42607:679:84:o;43291:561::-;43576:6;43565:9;43558:25;-1:-1:-1;;;;;43623:6:84;43619:31;43614:2;43603:9;43599:18;43592:59;43687:6;43682:2;43671:9;43667:18;43660:34;43730:6;43725:2;43714:9;43710:18;43703:34;43774:3;43768;43757:9;43753:19;43746:32;43539:4;43795:51;43841:3;43830:9;43826:19;43818:6;43795:51;:::i;43857:128::-;43924:9;;;43945:11;;;43942:37;;;43959:18;;:::i;43990:1341::-;44114:3;44108:10;-1:-1:-1;;;;;44133:6:84;44130:30;44127:56;;;44163:18;;:::i;:::-;44192:96;44281:6;44241:38;44273:4;44267:11;44241:38;:::i;:::-;44235:4;44192:96;:::i;:::-;44343:4;;44400:2;44389:14;;44417:1;44412:662;;;;45118:1;45135:6;45132:89;;;-1:-1:-1;45187:19:84;;;45181:26;45132:89;-1:-1:-1;;32399:1:84;32395:11;;;32391:24;32387:29;32377:40;32423:1;32419:11;;;32374:57;45234:81;;44382:943;;44412:662;31671:1;31664:14;;;31708:4;31695:18;;-1:-1:-1;;44448:20:84;;;44565:236;44579:7;44576:1;44573:14;44565:236;;;44668:19;;;44662:26;44647:42;;44760:27;;;;44728:1;44716:14;;;;44595:19;;44565:236;;;44569:3;44829:6;44820:7;44817:19;44814:201;;;44890:19;;;44884:26;-1:-1:-1;;44973:1:84;44969:14;;;44985:3;44965:24;44961:37;44957:42;44942:58;44927:74;;44814:201;-1:-1:-1;;;;;45061:1:84;45045:14;;;45041:22;45028:36;;-1:-1:-1;43990:1341:84:o;45607:180::-;-1:-1:-1;;;;;45712:10:84;;;45724;;;45708:27;;45747:11;;;45744:37;;;45761:18;;:::i;45983:112::-;46015:1;46041;46031:35;;46046:18;;:::i;:::-;-1:-1:-1;46080:9:84;;45983:112::o;46508:151::-;46598:4;46591:12;;;46577;;;46573:31;;46616:14;;46613:40;;;46633: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// solhint-disable-next-line\r\ninterface OVM_GasPriceOracle {\r\n    function getL1Fee(bytes calldata _data) external view returns (uint256);\r\n}\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 WitnetOracleTrustableOvm2\r\n    is \r\n        WitnetOracleTrustableDefault\r\n{\r\n    using WitnetV2 for WitnetV2.RadonSLA;\r\n\r\n    function class() virtual override public view returns (string memory) {\r\n        return type(WitnetOracleTrustableOvm2).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        __gasPriceOracleL1 = OVM_GasPriceOracle(0x420000000000000000000000000000000000000F);\r\n    }\r\n\r\n    OVM_GasPriceOracle immutable internal __gasPriceOracleL1;\r\n\r\n    function _getCurrentL1Fee(uint16 _resultMaxSize) virtual internal view returns (uint256) {\r\n        return __gasPriceOracleL1.getL1Fee(\r\n            abi.encodePacked(\r\n                hex\"06eb2c42000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000ffffffffff00000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000ff\",\r\n                _resultMaxBuffer(_resultMaxSize)\r\n            )\r\n        );\r\n    }\r\n\r\n    function _resultMaxBuffer(uint16 _resultMaxSize) private pure returns (bytes memory) {\r\n        unchecked {\r\n            uint256[] memory _buffer = new uint256[](_resultMaxSize / 32);\r\n            for (uint _ix = 0; _ix < _buffer.length; _ix ++) {\r\n                _buffer[_ix] = type(uint256).max;\r\n            }\r\n            return abi.encodePacked(\r\n                _buffer,\r\n                uint256((1 << (_resultMaxSize % 32)) - 1)\r\n            );\r\n        }\r\n    }\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'IWitnetOracle' ----------------------------------------------------------------------------\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request.\r\n    /// @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \r\n    /// @param _gasPrice Expected gas price to pay upon posting the data request.\r\n    /// @param _resultMaxSize Maximum expected size of returned data (in bytes).\r\n    function estimateBaseFee(uint256 _gasPrice, uint16 _resultMaxSize)\r\n        public view \r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return _getCurrentL1Fee(_resultMaxSize) + WitnetOracleTrustableDefault.estimateBaseFee(_gasPrice, _resultMaxSize);\r\n    }\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request with a callback.\r\n    /// @param _gasPrice Expected gas price to pay upon posting the data request.\r\n    /// @param _callbackGasLimit Maximum gas to be spent when reporting the data request result.\r\n    function estimateBaseFeeWithCallback(uint256 _gasPrice, uint24 _callbackGasLimit)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return _getCurrentL1Fee(32) + WitnetOracleTrustableDefault.estimateBaseFeeWithCallback(_gasPrice, _callbackGasLimit);\r\n    }\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'IWitnetOracleReporter' --------------------------------------------------------------------------\r\n\r\n    /// @notice Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,\r\n    /// @notice based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on \r\n    /// @notice queries providing no actual earnings.\r\n    function estimateReportEarnings(\r\n            uint256[] calldata _witnetQueryIds, \r\n            bytes calldata _reportTxMsgData,\r\n            uint256 _reportTxGasPrice, \r\n            uint256 _nanoWitPrice\r\n        )\r\n        external view\r\n        virtual override\r\n        returns (uint256 _revenues, uint256 _expenses)\r\n    {\r\n        for (uint _ix = 0; _ix < _witnetQueryIds.length; _ix ++) {\r\n            if (WitnetOracleDataLib.seekQueryStatus(_witnetQueryIds[_ix]) == WitnetV2.QueryStatus.Posted) {\r\n                WitnetV2.Request storage __request = WitnetOracleDataLib.seekQueryRequest(_witnetQueryIds[_ix]);\r\n                if (__request.gasCallback > 0) {\r\n                    _expenses += WitnetOracleTrustableDefault.estimateBaseFeeWithCallback(\r\n                        _reportTxGasPrice, \r\n                        __request.gasCallback\r\n                    );\r\n                } else {\r\n                    if (__request.witnetRAD != bytes32(0)) {\r\n                        _expenses += WitnetOracleTrustableDefault.estimateBaseFee(\r\n                            _reportTxGasPrice, \r\n                            registry.lookupRadonRequestResultMaxSize(__request.witnetRAD)\r\n                        );\r\n                    } else {\r\n                        // todo: improve profit estimation accuracy if reporting on deleted query\r\n                        _expenses += WitnetOracleTrustableDefault.estimateBaseFee(\r\n                            _reportTxGasPrice, \r\n                            uint16(0)\r\n                        ); \r\n                    }\r\n                }\r\n                _expenses += __request.witnetSLA.nanoWitTotalFee() * _nanoWitPrice;\r\n                _revenues += __request.evmReward;\r\n            }\r\n        }\r\n        _expenses += __gasPriceOracleL1.getL1Fee(_reportTxMsgData);\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\core\\customs\\WitnetOracleTrustableOvm2.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/customs/WitnetOracleTrustableOvm2.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
      ],
      "OVM_GasPriceOracle": [
        4333
      ],
      "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
      ],
      "WitnetOracleTrustableOvm2": [
        4645
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 4646,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4323,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "79:31:32"
      },
      {
        "id": 4324,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "112:33:32"
      },
      {
        "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol",
        "file": "../defaults/WitnetOracleTrustableDefault.sol",
        "id": 4325,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4646,
        "sourceUnit": 7014,
        "src": "149:54:32",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "OVM_GasPriceOracle",
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 4333,
        "linearizedBaseContracts": [
          4333
        ],
        "name": "OVM_GasPriceOracle",
        "nameLocation": "247:18:32",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "49948e0e",
            "id": 4332,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getL1Fee",
            "nameLocation": "282:8:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4328,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4327,
                  "mutability": "mutable",
                  "name": "_data",
                  "nameLocation": "306:5:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4332,
                  "src": "291:20:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4326,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "291:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "290:22:32"
            },
            "returnParameters": {
              "id": 4331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4330,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4332,
                  "src": "336:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4329,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "336:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "335:9:32"
            },
            "scope": 4333,
            "src": "273:72:32",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 4646,
        "src": "237:111:32",
        "usedErrors": [],
        "usedEvents": []
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 4335,
              "name": "WitnetOracleTrustableDefault",
              "nameLocations": [
                "791:28:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7013,
              "src": "791:28:32"
            },
            "id": 4336,
            "nodeType": "InheritanceSpecifier",
            "src": "791:28:32"
          }
        ],
        "canonicalName": "WitnetOracleTrustableOvm2",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 4334,
          "nodeType": "StructuredDocumentation",
          "src": "352:386:32",
          "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": 4645,
        "linearizedBaseContracts": [
          4645,
          7013,
          6817,
          24145,
          13758,
          13398,
          749,
          13315,
          13265,
          3887,
          578,
          24304,
          24189,
          253,
          24094,
          401,
          509
        ],
        "name": "WitnetOracleTrustableOvm2",
        "nameLocation": "747:25:32",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 4340,
            "libraryName": {
              "id": 4337,
              "name": "WitnetV2",
              "nameLocations": [
                "834:8:32"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 23640,
              "src": "834:8:32"
            },
            "nodeType": "UsingForDirective",
            "src": "828:37:32",
            "typeName": {
              "id": 4339,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4338,
                "name": "WitnetV2.RadonSLA",
                "nameLocations": [
                  "847:8:32",
                  "856:8:32"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 23503,
                "src": "847:17:32"
              },
              "referencedDeclaration": 23503,
              "src": "847:17:32",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_RadonSLA_$23503_storage_ptr",
                "typeString": "struct WitnetV2.RadonSLA"
              }
            }
          },
          {
            "baseFunctions": [
              6836
            ],
            "body": {
              "id": 4351,
              "nodeType": "Block",
              "src": "943:62:32",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 4347,
                          "name": "WitnetOracleTrustableOvm2",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4645,
                          "src": "966:25:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableOvm2_$4645_$",
                            "typeString": "type(contract WitnetOracleTrustableOvm2)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableOvm2_$4645_$",
                            "typeString": "type(contract WitnetOracleTrustableOvm2)"
                          }
                        ],
                        "id": 4346,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "961:4:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 4348,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "961:31:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitnetOracleTrustableOvm2_$4645",
                        "typeString": "type(contract WitnetOracleTrustableOvm2)"
                      }
                    },
                    "id": 4349,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "993:4:32",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "961:36:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4345,
                  "id": 4350,
                  "nodeType": "Return",
                  "src": "954:43:32"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 4352,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "882:5:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4342,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "898:8:32"
            },
            "parameters": {
              "id": 4341,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "887:2:32"
            },
            "returnParameters": {
              "id": 4345,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4344,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4352,
                  "src": "928:13:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4343,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "928:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "927:15:32"
            },
            "scope": 4645,
            "src": "873:132:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4389,
              "nodeType": "Block",
              "src": "1713:102:32",
              "statements": [
                {
                  "expression": {
                    "id": 4387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4383,
                      "name": "__gasPriceOracleL1",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4393,
                      "src": "1724:18:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                        "typeString": "contract OVM_GasPriceOracle"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030303046",
                          "id": 4385,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1764:42:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "value": "0x420000000000000000000000000000000000000F"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4384,
                        "name": "OVM_GasPriceOracle",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4333,
                        "src": "1745:18:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_OVM_GasPriceOracle_$4333_$",
                          "typeString": "type(contract OVM_GasPriceOracle)"
                        }
                      },
                      "id": 4386,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1745:62:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                        "typeString": "contract OVM_GasPriceOracle"
                      }
                    },
                    "src": "1724:83:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                      "typeString": "contract OVM_GasPriceOracle"
                    }
                  },
                  "id": 4388,
                  "nodeType": "ExpressionStatement",
                  "src": "1724:83:32"
                }
              ]
            },
            "id": 4390,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4373,
                    "name": "_factory",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4355,
                    "src": "1444:8:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  {
                    "id": 4374,
                    "name": "_registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4358,
                    "src": "1467:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  {
                    "id": 4375,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4360,
                    "src": "1491:11:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 4376,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4362,
                    "src": "1517:11:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "id": 4377,
                    "name": "_reportResultGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4364,
                    "src": "1543:20:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4378,
                    "name": "_reportResultWithCallbackGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4366,
                    "src": "1578:32:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4379,
                    "name": "_reportResultWithCallbackRevertGasBase",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4368,
                    "src": "1625:38:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  {
                    "id": 4380,
                    "name": "_sstoreFromZeroGas",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4370,
                    "src": "1678:18:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 4381,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4372,
                  "name": "WitnetOracleTrustableDefault",
                  "nameLocations": [
                    "1401:28:32"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 7013,
                  "src": "1401:28:32"
                },
                "nodeType": "ModifierInvocation",
                "src": "1401:306:32"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4371,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4355,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nameLocation": "1060:8:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1039:29:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 4354,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4353,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "1039:20:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "1039:20:32"
                    },
                    "referencedDeclaration": 880,
                    "src": "1039:20:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4358,
                  "mutability": "mutable",
                  "name": "_registry",
                  "nameLocation": "1106:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1083:32:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 4357,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4356,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "1083:22:32"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "1083:22:32"
                    },
                    "referencedDeclaration": 849,
                    "src": "1083:22:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4360,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1135:11:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1130:16:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4359,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1130:4:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4362,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1169:11:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1161:19:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4361,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1161:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4364,
                  "mutability": "mutable",
                  "name": "_reportResultGasBase",
                  "nameLocation": "1203:20:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1195:28:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4363,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1195:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4366,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackGasBase",
                  "nameLocation": "1246:32:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1238:40:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4365,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1238:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4368,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackRevertGasBase",
                  "nameLocation": "1301:38:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1293:46:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4367,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1293:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4370,
                  "mutability": "mutable",
                  "name": "_sstoreFromZeroGas",
                  "nameLocation": "1362:18:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4390,
                  "src": "1354:26:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4369,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1354:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1024:367:32"
            },
            "returnParameters": {
              "id": 4382,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1713:0:32"
            },
            "scope": 4645,
            "src": "1013:802:32",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4393,
            "mutability": "immutable",
            "name": "__gasPriceOracleL1",
            "nameLocation": "1861:18:32",
            "nodeType": "VariableDeclaration",
            "scope": 4645,
            "src": "1823:56:32",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
              "typeString": "contract OVM_GasPriceOracle"
            },
            "typeName": {
              "id": 4392,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4391,
                "name": "OVM_GasPriceOracle",
                "nameLocations": [
                  "1823:18:32"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 4333,
                "src": "1823:18:32"
              },
              "referencedDeclaration": 4333,
              "src": "1823:18:32",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                "typeString": "contract OVM_GasPriceOracle"
              }
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4411,
              "nodeType": "Block",
              "src": "1977:707:32",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "06eb2c42000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000ffffffffff00000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000ff",
                            "id": 4404,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "hexString",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2072:527:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_a3d2fbc1dacd26016777974249679186cfba06247b2ee668f7780fc4977b2c2e",
                              "typeString": "literal_string hex\"06eb2c42000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000ffffffffff00000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000ff\""
                            }
                          },
                          {
                            "arguments": [
                              {
                                "id": 4406,
                                "name": "_resultMaxSize",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4395,
                                "src": "2635:14:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              ],
                              "id": 4405,
                              "name": "_resultMaxBuffer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4474,
                              "src": "2618:16:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint16_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (uint16) pure returns (bytes memory)"
                              }
                            },
                            "id": 4407,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2618:32:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_a3d2fbc1dacd26016777974249679186cfba06247b2ee668f7780fc4977b2c2e",
                              "typeString": "literal_string hex\"06eb2c42000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000ffffffffff00000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000ff\""
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 4402,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "2037:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4403,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "2041:12:32",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "2037:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4408,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2037:628:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 4400,
                        "name": "__gasPriceOracleL1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4393,
                        "src": "1995:18:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                          "typeString": "contract OVM_GasPriceOracle"
                        }
                      },
                      "id": 4401,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2014:8:32",
                      "memberName": "getL1Fee",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4332,
                      "src": "1995:27:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (bytes memory) view external returns (uint256)"
                      }
                    },
                    "id": 4409,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1995:681:32",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4399,
                  "id": 4410,
                  "nodeType": "Return",
                  "src": "1988:688:32"
                }
              ]
            },
            "id": 4412,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_getCurrentL1Fee",
            "nameLocation": "1897:16:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4395,
                  "mutability": "mutable",
                  "name": "_resultMaxSize",
                  "nameLocation": "1921:14:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4412,
                  "src": "1914:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 4394,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "1914:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1913:23:32"
            },
            "returnParameters": {
              "id": 4399,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4398,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4412,
                  "src": "1968:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4397,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1968:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1967:9:32"
            },
            "scope": 4645,
            "src": "1888:796:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4473,
              "nodeType": "Block",
              "src": "2777:385:32",
              "statements": [
                {
                  "id": 4472,
                  "nodeType": "UncheckedBlock",
                  "src": "2788:367:32",
                  "statements": [
                    {
                      "assignments": [
                        4423
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 4423,
                          "mutability": "mutable",
                          "name": "_buffer",
                          "nameLocation": "2830:7:32",
                          "nodeType": "VariableDeclaration",
                          "scope": 4472,
                          "src": "2813:24:32",
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[]"
                          },
                          "typeName": {
                            "baseType": {
                              "id": 4421,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "2813:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 4422,
                            "nodeType": "ArrayTypeName",
                            "src": "2813:9:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                              "typeString": "uint256[]"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 4431,
                      "initialValue": {
                        "arguments": [
                          {
                            "commonType": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            },
                            "id": 4429,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 4427,
                              "name": "_resultMaxSize",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4414,
                              "src": "2854:14:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "/",
                            "rightExpression": {
                              "hexValue": "3332",
                              "id": 4428,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2871:2:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_32_by_1",
                                "typeString": "int_const 32"
                              },
                              "value": "32"
                            },
                            "src": "2854:19:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          ],
                          "id": 4426,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "NewExpression",
                          "src": "2840:13:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                            "typeString": "function (uint256) pure returns (uint256[] memory)"
                          },
                          "typeName": {
                            "baseType": {
                              "id": 4424,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "2844:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 4425,
                            "nodeType": "ArrayTypeName",
                            "src": "2844:9:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                              "typeString": "uint256[]"
                            }
                          }
                        },
                        "id": 4430,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2840:34:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "2813:61:32"
                    },
                    {
                      "body": {
                        "id": 4453,
                        "nodeType": "Block",
                        "src": "2938:67:32",
                        "statements": [
                          {
                            "expression": {
                              "id": 4451,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "baseExpression": {
                                  "id": 4443,
                                  "name": "_buffer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4423,
                                  "src": "2957:7:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                    "typeString": "uint256[] memory"
                                  }
                                },
                                "id": 4445,
                                "indexExpression": {
                                  "id": 4444,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4433,
                                  "src": "2965:3:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "nodeType": "IndexAccess",
                                "src": "2957:12:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 4448,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2977:7:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": {
                                        "id": 4447,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2977:7:32",
                                        "typeDescriptions": {}
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      }
                                    ],
                                    "id": 4446,
                                    "name": "type",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967269,
                                    "src": "2972:4:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                      "typeString": "function () pure"
                                    }
                                  },
                                  "id": 4449,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2972:13:32",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_meta_type_t_uint256",
                                    "typeString": "type(uint256)"
                                  }
                                },
                                "id": 4450,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "2986:3:32",
                                "memberName": "max",
                                "nodeType": "MemberAccess",
                                "src": "2972:17:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2957:32:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 4452,
                            "nodeType": "ExpressionStatement",
                            "src": "2957:32:32"
                          }
                        ]
                      },
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4439,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4436,
                          "name": "_ix",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4433,
                          "src": "2908:3:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "expression": {
                            "id": 4437,
                            "name": "_buffer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4423,
                            "src": "2914:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 4438,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2922:6:32",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "2914:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2908:20:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 4454,
                      "initializationExpression": {
                        "assignments": [
                          4433
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 4433,
                            "mutability": "mutable",
                            "name": "_ix",
                            "nameLocation": "2899:3:32",
                            "nodeType": "VariableDeclaration",
                            "scope": 4454,
                            "src": "2894:8:32",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 4432,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "2894:4:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 4435,
                        "initialValue": {
                          "hexValue": "30",
                          "id": 4434,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2905:1:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2894:12:32"
                      },
                      "isSimpleCounterLoop": true,
                      "loopExpression": {
                        "expression": {
                          "id": 4441,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "2930:6:32",
                          "subExpression": {
                            "id": 4440,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4433,
                            "src": "2930:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4442,
                        "nodeType": "ExpressionStatement",
                        "src": "2930:6:32"
                      },
                      "nodeType": "ForStatement",
                      "src": "2889:116:32"
                    },
                    {
                      "expression": {
                        "arguments": [
                          {
                            "id": 4457,
                            "name": "_buffer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4423,
                            "src": "3061:7:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 4468,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 4465,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "hexValue": "31",
                                        "id": 4460,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "3096:1:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_1_by_1",
                                          "typeString": "int_const 1"
                                        },
                                        "value": "1"
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "<<",
                                      "rightExpression": {
                                        "components": [
                                          {
                                            "commonType": {
                                              "typeIdentifier": "t_uint16",
                                              "typeString": "uint16"
                                            },
                                            "id": 4463,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "id": 4461,
                                              "name": "_resultMaxSize",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4414,
                                              "src": "3102:14:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint16",
                                                "typeString": "uint16"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "%",
                                            "rightExpression": {
                                              "hexValue": "3332",
                                              "id": 4462,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "3119:2:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_32_by_1",
                                                "typeString": "int_const 32"
                                              },
                                              "value": "32"
                                            },
                                            "src": "3102:19:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint16",
                                              "typeString": "uint16"
                                            }
                                          }
                                        ],
                                        "id": 4464,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "3101:21:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      },
                                      "src": "3096:26:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 4466,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "3095:28:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "hexValue": "31",
                                  "id": 4467,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3126:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "src": "3095:32:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 4459,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "3087:7:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": {
                                "id": 4458,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "3087:7:32",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 4469,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3087:41:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 4455,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "3026:3:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4456,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "3030:12:32",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "3026:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3026:117:32",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "functionReturnParameters": 4418,
                      "id": 4471,
                      "nodeType": "Return",
                      "src": "3019:124:32"
                    }
                  ]
                }
              ]
            },
            "id": 4474,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_resultMaxBuffer",
            "nameLocation": "2701:16:32",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4415,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4414,
                  "mutability": "mutable",
                  "name": "_resultMaxSize",
                  "nameLocation": "2725:14:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4474,
                  "src": "2718:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 4413,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "2718:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2717:23:32"
            },
            "returnParameters": {
              "id": 4418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4417,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4474,
                  "src": "2763:12:32",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4416,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2763:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2762:14:32"
            },
            "scope": 4645,
            "src": "2692:470:32",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "baseFunctions": [
              6926
            ],
            "body": {
              "id": 4495,
              "nodeType": "Block",
              "src": "3895:132:32",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4493,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "id": 4486,
                          "name": "_resultMaxSize",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4479,
                          "src": "3930:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        ],
                        "id": 4485,
                        "name": "_getCurrentL1Fee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4412,
                        "src": "3913:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_uint16_$returns$_t_uint256_$",
                          "typeString": "function (uint16) view returns (uint256)"
                        }
                      },
                      "id": 4487,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3913:32:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "arguments": [
                        {
                          "id": 4490,
                          "name": "_gasPrice",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4477,
                          "src": "3993:9:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "id": 4491,
                          "name": "_resultMaxSize",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4479,
                          "src": "4004:14:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        ],
                        "expression": {
                          "id": 4488,
                          "name": "WitnetOracleTrustableDefault",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7013,
                          "src": "3948:28:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                            "typeString": "type(contract WitnetOracleTrustableDefault)"
                          }
                        },
                        "id": 4489,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3977:15:32",
                        "memberName": "estimateBaseFee",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 6926,
                        "src": "3948:44:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint16_$returns$_t_uint256_$",
                          "typeString": "function (uint256,uint16) view returns (uint256)"
                        }
                      },
                      "id": 4492,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3948:71:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3913:106:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4484,
                  "id": 4494,
                  "nodeType": "Return",
                  "src": "3906:113:32"
                }
              ]
            },
            "documentation": {
              "id": 4475,
              "nodeType": "StructuredDocumentation",
              "src": "3408:334:32",
              "text": "@notice Estimate the minimum reward required for posting a data request.\n @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \n @param _gasPrice Expected gas price to pay upon posting the data request.\n @param _resultMaxSize Maximum expected size of returned data (in bytes)."
            },
            "functionSelector": "7bd88218",
            "id": 4496,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFee",
            "nameLocation": "3757:15:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4481,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3854:8:32"
            },
            "parameters": {
              "id": 4480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4477,
                  "mutability": "mutable",
                  "name": "_gasPrice",
                  "nameLocation": "3781:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4496,
                  "src": "3773:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4476,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3773:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4479,
                  "mutability": "mutable",
                  "name": "_resultMaxSize",
                  "nameLocation": "3799:14:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4496,
                  "src": "3792:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 4478,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "3792:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3772:42:32"
            },
            "returnParameters": {
              "id": 4484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4483,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4496,
                  "src": "3881:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4482,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3881:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3880:9:32"
            },
            "scope": 4645,
            "src": "3748:279:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              6972
            ],
            "body": {
              "id": 4517,
              "nodeType": "Block",
              "src": "4475:135:32",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4515,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "hexValue": "3332",
                          "id": 4508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4510:2:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_32_by_1",
                            "typeString": "int_const 32"
                          },
                          "value": "32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_32_by_1",
                            "typeString": "int_const 32"
                          }
                        ],
                        "id": 4507,
                        "name": "_getCurrentL1Fee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4412,
                        "src": "4493:16:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_uint16_$returns$_t_uint256_$",
                          "typeString": "function (uint16) view returns (uint256)"
                        }
                      },
                      "id": 4509,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4493:20:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "arguments": [
                        {
                          "id": 4512,
                          "name": "_gasPrice",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4499,
                          "src": "4573:9:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "id": 4513,
                          "name": "_callbackGasLimit",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4501,
                          "src": "4584:17:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint24",
                            "typeString": "uint24"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint24",
                            "typeString": "uint24"
                          }
                        ],
                        "expression": {
                          "id": 4510,
                          "name": "WitnetOracleTrustableDefault",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7013,
                          "src": "4516:28:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                            "typeString": "type(contract WitnetOracleTrustableDefault)"
                          }
                        },
                        "id": 4511,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4545:27:32",
                        "memberName": "estimateBaseFeeWithCallback",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 6972,
                        "src": "4516:56:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint24_$returns$_t_uint256_$",
                          "typeString": "function (uint256,uint24) view returns (uint256)"
                        }
                      },
                      "id": 4514,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4516:86:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4493:109:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4506,
                  "id": 4516,
                  "nodeType": "Return",
                  "src": "4486:116:32"
                }
              ]
            },
            "documentation": {
              "id": 4497,
              "nodeType": "StructuredDocumentation",
              "src": "4035:273:32",
              "text": "@notice Estimate the minimum reward required for posting a data request with a callback.\n @param _gasPrice Expected gas price to pay upon posting the data request.\n @param _callbackGasLimit Maximum gas to be spent when reporting the data request result."
            },
            "functionSelector": "05e742ef",
            "id": 4518,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFeeWithCallback",
            "nameLocation": "4323:27:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4503,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4434:8:32"
            },
            "parameters": {
              "id": 4502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4499,
                  "mutability": "mutable",
                  "name": "_gasPrice",
                  "nameLocation": "4359:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4518,
                  "src": "4351:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4498,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4351:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4501,
                  "mutability": "mutable",
                  "name": "_callbackGasLimit",
                  "nameLocation": "4377:17:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4518,
                  "src": "4370:24:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  },
                  "typeName": {
                    "id": 4500,
                    "name": "uint24",
                    "nodeType": "ElementaryTypeName",
                    "src": "4370:6:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint24",
                      "typeString": "uint24"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4350:45:32"
            },
            "returnParameters": {
              "id": 4506,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4505,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4518,
                  "src": "4461:7:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4504,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4461:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4460:9:32"
            },
            "scope": 4645,
            "src": "4314:296:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              6003
            ],
            "body": {
              "id": 4643,
              "nodeType": "Block",
              "src": "5496:1500:32",
              "statements": [
                {
                  "body": {
                    "id": 4634,
                    "nodeType": "Block",
                    "src": "5564:1356:32",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_QueryStatus_$23461",
                            "typeString": "enum WitnetV2.QueryStatus"
                          },
                          "id": 4556,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 4549,
                                  "name": "_witnetQueryIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4522,
                                  "src": "5619:15:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                    "typeString": "uint256[] calldata"
                                  }
                                },
                                "id": 4551,
                                "indexExpression": {
                                  "id": 4550,
                                  "name": "_ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4537,
                                  "src": "5635:3:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5619:20:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 4547,
                                "name": "WitnetOracleDataLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12396,
                                "src": "5583:19:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetOracleDataLib_$12396_$",
                                  "typeString": "type(library WitnetOracleDataLib)"
                                }
                              },
                              "id": 4548,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5603:15:32",
                              "memberName": "seekQueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12172,
                              "src": "5583:35:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "function (uint256) view returns (enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 4552,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5583:57:32",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 4553,
                                "name": "WitnetV2",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23640,
                                "src": "5644:8:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                                  "typeString": "type(library WitnetV2)"
                                }
                              },
                              "id": 4554,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5653:11:32",
                              "memberName": "QueryStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23461,
                              "src": "5644:20:32",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_QueryStatus_$23461_$",
                                "typeString": "type(enum WitnetV2.QueryStatus)"
                              }
                            },
                            "id": 4555,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5665:6:32",
                            "memberName": "Posted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23458,
                            "src": "5644:27:32",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_QueryStatus_$23461",
                              "typeString": "enum WitnetV2.QueryStatus"
                            }
                          },
                          "src": "5583:88:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 4633,
                        "nodeType": "IfStatement",
                        "src": "5579:1330:32",
                        "trueBody": {
                          "id": 4632,
                          "nodeType": "Block",
                          "src": "5673:1236:32",
                          "statements": [
                            {
                              "assignments": [
                                4561
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 4561,
                                  "mutability": "mutable",
                                  "name": "__request",
                                  "nameLocation": "5717:9:32",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 4632,
                                  "src": "5692:34:32",
                                  "stateVariable": false,
                                  "storageLocation": "storage",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                    "typeString": "struct WitnetV2.Request"
                                  },
                                  "typeName": {
                                    "id": 4560,
                                    "nodeType": "UserDefinedTypeName",
                                    "pathNode": {
                                      "id": 4559,
                                      "name": "WitnetV2.Request",
                                      "nameLocations": [
                                        "5692:8:32",
                                        "5701:7:32"
                                      ],
                                      "nodeType": "IdentifierPath",
                                      "referencedDeclaration": 23476,
                                      "src": "5692:16:32"
                                    },
                                    "referencedDeclaration": 23476,
                                    "src": "5692:16:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 4568,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "baseExpression": {
                                      "id": 4564,
                                      "name": "_witnetQueryIds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4522,
                                      "src": "5766:15:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                        "typeString": "uint256[] calldata"
                                      }
                                    },
                                    "id": 4566,
                                    "indexExpression": {
                                      "id": 4565,
                                      "name": "_ix",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4537,
                                      "src": "5782:3:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5766:20:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "id": 4562,
                                    "name": "WitnetOracleDataLib",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 12396,
                                    "src": "5729:19:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_WitnetOracleDataLib_$12396_$",
                                      "typeString": "type(library WitnetOracleDataLib)"
                                    }
                                  },
                                  "id": 4563,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5749:16:32",
                                  "memberName": "seekQueryRequest",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 12092,
                                  "src": "5729:36:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_Request_$23476_storage_ptr_$",
                                    "typeString": "function (uint256) view returns (struct WitnetV2.Request storage pointer)"
                                  }
                                },
                                "id": 4567,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5729:58:32",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                  "typeString": "struct WitnetV2.Request storage pointer"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "5692:95:32"
                            },
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_uint24",
                                  "typeString": "uint24"
                                },
                                "id": 4572,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 4569,
                                    "name": "__request",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4561,
                                    "src": "5810:9:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request storage pointer"
                                    }
                                  },
                                  "id": 4570,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5820:11:32",
                                  "memberName": "gasCallback",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23466,
                                  "src": "5810:21:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint24",
                                    "typeString": "uint24"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 4571,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5834:1:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "5810:25:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 4616,
                                "nodeType": "Block",
                                "src": "6071:687:32",
                                "statements": [
                                  {
                                    "condition": {
                                      "commonType": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      "id": 4589,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "expression": {
                                          "id": 4583,
                                          "name": "__request",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4561,
                                          "src": "6098:9:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                            "typeString": "struct WitnetV2.Request storage pointer"
                                          }
                                        },
                                        "id": 4584,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6108:9:32",
                                        "memberName": "witnetRAD",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 23472,
                                        "src": "6098:19:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "!=",
                                      "rightExpression": {
                                        "arguments": [
                                          {
                                            "hexValue": "30",
                                            "id": 4587,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "6129:1:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_0_by_1",
                                              "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_0_by_1",
                                              "typeString": "int_const 0"
                                            }
                                          ],
                                          "id": 4586,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6121:7:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes32_$",
                                            "typeString": "type(bytes32)"
                                          },
                                          "typeName": {
                                            "id": 4585,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6121:7:32",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 4588,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6121:10:32",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "src": "6098:33:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "falseBody": {
                                      "id": 4614,
                                      "nodeType": "Block",
                                      "src": "6415:324:32",
                                      "statements": [
                                        {
                                          "expression": {
                                            "id": 4612,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftHandSide": {
                                              "id": 4603,
                                              "name": "_expenses",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4534,
                                              "src": "6541:9:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "Assignment",
                                            "operator": "+=",
                                            "rightHandSide": {
                                              "arguments": [
                                                {
                                                  "id": 4606,
                                                  "name": "_reportTxGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4526,
                                                  "src": "6629:17:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "arguments": [
                                                    {
                                                      "hexValue": "30",
                                                      "id": 4609,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "kind": "number",
                                                      "lValueRequested": false,
                                                      "nodeType": "Literal",
                                                      "src": "6685:1:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_0_by_1",
                                                        "typeString": "int_const 0"
                                                      },
                                                      "value": "0"
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_rational_0_by_1",
                                                        "typeString": "int_const 0"
                                                      }
                                                    ],
                                                    "id": 4608,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "nodeType": "ElementaryTypeNameExpression",
                                                    "src": "6678:6:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_uint16_$",
                                                      "typeString": "type(uint16)"
                                                    },
                                                    "typeName": {
                                                      "id": 4607,
                                                      "name": "uint16",
                                                      "nodeType": "ElementaryTypeName",
                                                      "src": "6678:6:32",
                                                      "typeDescriptions": {}
                                                    }
                                                  },
                                                  "id": 4610,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "kind": "typeConversion",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "6678:9:32",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint16",
                                                    "typeString": "uint16"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_uint16",
                                                    "typeString": "uint16"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 4604,
                                                  "name": "WitnetOracleTrustableDefault",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 7013,
                                                  "src": "6554:28:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                                                    "typeString": "type(contract WitnetOracleTrustableDefault)"
                                                  }
                                                },
                                                "id": 4605,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "6583:15:32",
                                                "memberName": "estimateBaseFee",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 6926,
                                                "src": "6554:44:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint16_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256,uint16) view returns (uint256)"
                                                }
                                              },
                                              "id": 4611,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "6554:160:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "src": "6541:173:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 4613,
                                          "nodeType": "ExpressionStatement",
                                          "src": "6541:173:32"
                                        }
                                      ]
                                    },
                                    "id": 4615,
                                    "nodeType": "IfStatement",
                                    "src": "6094:645:32",
                                    "trueBody": {
                                      "id": 4602,
                                      "nodeType": "Block",
                                      "src": "6133:276:32",
                                      "statements": [
                                        {
                                          "expression": {
                                            "id": 4600,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftHandSide": {
                                              "id": 4590,
                                              "name": "_expenses",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4534,
                                              "src": "6160:9:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "Assignment",
                                            "operator": "+=",
                                            "rightHandSide": {
                                              "arguments": [
                                                {
                                                  "id": 4593,
                                                  "name": "_reportTxGasPrice",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4526,
                                                  "src": "6248:17:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                {
                                                  "arguments": [
                                                    {
                                                      "expression": {
                                                        "id": 4596,
                                                        "name": "__request",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4561,
                                                        "src": "6338:9:32",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                          "typeString": "struct WitnetV2.Request storage pointer"
                                                        }
                                                      },
                                                      "id": 4597,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "6348:9:32",
                                                      "memberName": "witnetRAD",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 23472,
                                                      "src": "6338:19:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                      }
                                                    ],
                                                    "expression": {
                                                      "id": 4594,
                                                      "name": "registry",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 4894,
                                                      "src": "6297:8:32",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                                                        "typeString": "contract WitnetRequestBytecodes"
                                                      }
                                                    },
                                                    "id": 4595,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "6306:31:32",
                                                    "memberName": "lookupRadonRequestResultMaxSize",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 13897,
                                                    "src": "6297:40:32",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint16_$",
                                                      "typeString": "function (bytes32) view external returns (uint16)"
                                                    }
                                                  },
                                                  "id": 4598,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "functionCall",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "6297:61:32",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint16",
                                                    "typeString": "uint16"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_uint16",
                                                    "typeString": "uint16"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 4591,
                                                  "name": "WitnetOracleTrustableDefault",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 7013,
                                                  "src": "6173:28:32",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                                                    "typeString": "type(contract WitnetOracleTrustableDefault)"
                                                  }
                                                },
                                                "id": 4592,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "6202:15:32",
                                                "memberName": "estimateBaseFee",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 6926,
                                                "src": "6173:44:32",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint16_$returns$_t_uint256_$",
                                                  "typeString": "function (uint256,uint16) view returns (uint256)"
                                                }
                                              },
                                              "id": 4599,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "6173:212:32",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "src": "6160:225:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 4601,
                                          "nodeType": "ExpressionStatement",
                                          "src": "6160:225:32"
                                        }
                                      ]
                                    }
                                  }
                                ]
                              },
                              "id": 4617,
                              "nodeType": "IfStatement",
                              "src": "5806:952:32",
                              "trueBody": {
                                "id": 4582,
                                "nodeType": "Block",
                                "src": "5837:228:32",
                                "statements": [
                                  {
                                    "expression": {
                                      "id": 4580,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "id": 4573,
                                        "name": "_expenses",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4534,
                                        "src": "5860:9:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "+=",
                                      "rightHandSide": {
                                        "arguments": [
                                          {
                                            "id": 4576,
                                            "name": "_reportTxGasPrice",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4526,
                                            "src": "5956:17:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          {
                                            "expression": {
                                              "id": 4577,
                                              "name": "__request",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4561,
                                              "src": "6001:9:32",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                                "typeString": "struct WitnetV2.Request storage pointer"
                                              }
                                            },
                                            "id": 4578,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6011:11:32",
                                            "memberName": "gasCallback",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 23466,
                                            "src": "6001:21:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint24",
                                              "typeString": "uint24"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            },
                                            {
                                              "typeIdentifier": "t_uint24",
                                              "typeString": "uint24"
                                            }
                                          ],
                                          "expression": {
                                            "id": 4574,
                                            "name": "WitnetOracleTrustableDefault",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7013,
                                            "src": "5873:28:32",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                                              "typeString": "type(contract WitnetOracleTrustableDefault)"
                                            }
                                          },
                                          "id": 4575,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "5902:27:32",
                                          "memberName": "estimateBaseFeeWithCallback",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 6972,
                                          "src": "5873:56:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint24_$returns$_t_uint256_$",
                                            "typeString": "function (uint256,uint24) view returns (uint256)"
                                          }
                                        },
                                        "id": 4579,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5873:172:32",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "5860:185:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 4581,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5860:185:32"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "id": 4625,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 4618,
                                  "name": "_expenses",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4534,
                                  "src": "6776:9:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 4624,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "expression": {
                                          "id": 4619,
                                          "name": "__request",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4561,
                                          "src": "6789:9:32",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                            "typeString": "struct WitnetV2.Request storage pointer"
                                          }
                                        },
                                        "id": 4620,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6799:9:32",
                                        "memberName": "witnetSLA",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 23475,
                                        "src": "6789:19:32",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_RadonSLA_$23503_storage",
                                          "typeString": "struct WitnetV2.RadonSLA storage ref"
                                        }
                                      },
                                      "id": 4621,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "6809:15:32",
                                      "memberName": "nanoWitTotalFee",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23594,
                                      "src": "6789:35:32",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_struct$_RadonSLA_$23503_storage_ptr_$returns$_t_uint64_$attached_to$_t_struct$_RadonSLA_$23503_storage_ptr_$",
                                        "typeString": "function (struct WitnetV2.RadonSLA storage pointer) view returns (uint64)"
                                      }
                                    },
                                    "id": 4622,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6789:37:32",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "id": 4623,
                                    "name": "_nanoWitPrice",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4528,
                                    "src": "6829:13:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6789:53:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "6776:66:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 4626,
                              "nodeType": "ExpressionStatement",
                              "src": "6776:66:32"
                            },
                            {
                              "expression": {
                                "id": 4630,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 4627,
                                  "name": "_revenues",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4532,
                                  "src": "6861:9:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "expression": {
                                    "id": 4628,
                                    "name": "__request",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4561,
                                    "src": "6874:9:32",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Request_$23476_storage_ptr",
                                      "typeString": "struct WitnetV2.Request storage pointer"
                                    }
                                  },
                                  "id": 4629,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "6884:9:32",
                                  "memberName": "evmReward",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23468,
                                  "src": "6874:19:32",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint72",
                                    "typeString": "uint72"
                                  }
                                },
                                "src": "6861:32:32",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 4631,
                              "nodeType": "ExpressionStatement",
                              "src": "6861:32:32"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4543,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4540,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4537,
                      "src": "5526:3:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 4541,
                        "name": "_witnetQueryIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4522,
                        "src": "5532:15:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                          "typeString": "uint256[] calldata"
                        }
                      },
                      "id": 4542,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5548:6:32",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5532:22:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5526:28:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4635,
                  "initializationExpression": {
                    "assignments": [
                      4537
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4537,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "5517:3:32",
                        "nodeType": "VariableDeclaration",
                        "scope": 4635,
                        "src": "5512:8:32",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4536,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5512:4:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 4539,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 4538,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5523:1:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5512:12:32"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 4545,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5556:6:32",
                      "subExpression": {
                        "id": 4544,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4537,
                        "src": "5556:3:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4546,
                    "nodeType": "ExpressionStatement",
                    "src": "5556:6:32"
                  },
                  "nodeType": "ForStatement",
                  "src": "5507:1413:32"
                },
                {
                  "expression": {
                    "id": 4641,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4636,
                      "name": "_expenses",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4534,
                      "src": "6930:9:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 4639,
                          "name": "_reportTxMsgData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4524,
                          "src": "6971:16:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        ],
                        "expression": {
                          "id": 4637,
                          "name": "__gasPriceOracleL1",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4393,
                          "src": "6943:18:32",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_OVM_GasPriceOracle_$4333",
                            "typeString": "contract OVM_GasPriceOracle"
                          }
                        },
                        "id": 4638,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6962:8:32",
                        "memberName": "getL1Fee",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4332,
                        "src": "6943:27:32",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) view external returns (uint256)"
                        }
                      },
                      "id": 4640,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6943:45:32",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6930:58:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4642,
                  "nodeType": "ExpressionStatement",
                  "src": "6930:58:32"
                }
              ]
            },
            "documentation": {
              "id": 4519,
              "nodeType": "StructuredDocumentation",
              "src": "4862:302:32",
              "text": "@notice Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,\n @notice based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on \n @notice queries providing no actual earnings."
            },
            "functionSelector": "93d5185c",
            "id": 4644,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateReportEarnings",
            "nameLocation": "5179:22:32",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4530,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5426:8:32"
            },
            "parameters": {
              "id": 4529,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4522,
                  "mutability": "mutable",
                  "name": "_witnetQueryIds",
                  "nameLocation": "5235:15:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5216:34:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4520,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "5216:7:32",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4521,
                    "nodeType": "ArrayTypeName",
                    "src": "5216:9:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4524,
                  "mutability": "mutable",
                  "name": "_reportTxMsgData",
                  "nameLocation": "5281:16:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5266:31:32",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4523,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "5266:5:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4526,
                  "mutability": "mutable",
                  "name": "_reportTxGasPrice",
                  "nameLocation": "5320:17:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5312:25:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4525,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5312:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4528,
                  "mutability": "mutable",
                  "name": "_nanoWitPrice",
                  "nameLocation": "5361:13:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5353:21:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4527,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5353:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5201:184:32"
            },
            "returnParameters": {
              "id": 4535,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4532,
                  "mutability": "mutable",
                  "name": "_revenues",
                  "nameLocation": "5461:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5453:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4531,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5453:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4534,
                  "mutability": "mutable",
                  "name": "_expenses",
                  "nameLocation": "5480:9:32",
                  "nodeType": "VariableDeclaration",
                  "scope": 4644,
                  "src": "5472:17:32",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4533,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5472:7:32",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5452:38:32"
            },
            "scope": 4645,
            "src": "5170:1826:32",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          }
        ],
        "scope": 4646,
        "src": "738:6261:32",
        "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:6922:32"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.268Z",
  "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."
        }
      },
      "getQueryRequest(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier"
        }
      },
      "getQueryResponseStatus(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultCborBytes(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultError(uint256)": {
        "params": {
          "_witnetQueryId": "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 Witnet-provable result, and metadata, to a previously posted 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
  }
}